2009-10-15 79 views

回答

2

看來您正在嘗試爲您的HTML元素使用數字ID。 HTML element ids must begin with a letter。由於你的HTML無效,你的選擇器$(「#1,#2,#3」)評估爲空,因此你會得到一個javascript錯誤。

我的解決辦法是給你的標籤一類 - 如「lavamenu」,然後爲你的插件應用類選擇:

$('.lavamenu').lavalamp(...); 

更新

由於您還使用MooTools,你需要在noConflict模式下使用jQuery。您可以通過這樣做:

var $jq = jQuery.noConflict(); 

那麼只要你會使用jQuery的$函數,只需使用$ JQ。請注意,在加載jQuery之後,但在加載任何衝突的JavaScript庫之前,您需要調用noConflict()。關於noConflict()的更多信息可以在jQuery網站上找到,以及關於how to use jQuery with other libraries的想法。

$jq(function() { 
    $jq('.lavamenu').lavalamp(...); 


}); 
+0

謝謝tvanfosson, 我已經改變了一切使用.lavamenu(css,script info在標題等),但仍然無法正常工作。我是否也需要編輯jquery文件?沒有太多的嘗試... – Jennifer 2009-10-15 13:20:22

+0

看起來你是包括MooTools以及MooTools重新定義$函數,以便它不再使用jQuery。我將更新關於如何讓您的jQuery代碼正常工作的建議。 – tvanfosson 2009-10-15 14:30:13

+0

謝謝你,我欣賞它〜 – Jennifer 2009-10-15 15:16:47

2

作爲一個經驗法則,你的元素的ID不應該以數字開頭。你已經給出了1,2和3的ID - 嘗試將它們改爲menu1,meny2和menu3,並調整腳本中的id。

$("#menu1, #menu2, #menu3").lavaLamp({ 
+0

這不是一個 「經驗法則」 - 這是一個規則。 HTML元素必須以字母開頭:http://www.w3.org/TR/html401/types.html#type-name – tvanfosson 2009-10-15 12:20:45

0

請更改

<script type="text/javascript"> 
     $(function() { 
      $("#1, #2, #3").lavaLamp({ 
       fx: "backout", 
       speed: 700, 
       click: function(event, menuItem) { 
        return false; 
       } 
      }); 
     }); 
    </script> 

<script type="text/javascript"> 
     $(function() { 
      $("A").lavaLamp({ 
       fx: "backout", 
       speed: 700, 
       click: function(event, menuItem) { 
        return false; 
       } 
      }); 
     }); 
    </script> 
0

你還不如更改標識類

<script type="text/javascript"> 
    $(function() { 
     $(".menuitem").lavaLamp({ 
      fx: "backout", 
      speed: 700, 
      click: function(event, menuItem) { 
       return false; 
      } 
     }); 
    }); 
</script> 
+0

謝謝大家,我感謝你的幫助 - 但是...我現在有點困惑與所有的建議! 我已經如上所述更改了JavaScript部分,但它仍然無法正常工作...對不起,這個lavalamp菜單很新。 我會看看jquery文件,看看我是否在那裏丟失任何東西。 再次感謝yo' – Jennifer 2009-10-15 12:33:46