2009-10-15 81 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