2011-02-26 191 views
0

我向菜单添加了“魔术线条”效果,但它在管理界面中导致问题。 http://screencast.com/t/HxTs3ZLlT按钮显示不会打开内嵌设置,因为它应该。jQuery脚本与Drupal 7的AJAX冲突?

当覆盖加载萤火虫显示错误:

$( “#主菜单链接。主动A”)位置()为null

控制台的全屏截图:http://screencast.com/t/im1NKS025gJ9

而脚本本身是从.info文件中调用的:

(function ($) { 

    Drupal.behaviors.magicLine = { 
     attach: function(context) { 

      // Lava Lamp Meny Effect 

      var $el, leftPos, newWidth, 
       $mainNav = $("#main-menu-links"); 

      $mainNav.append("<li id='magic-line'></li>"); 
      var $magicLine = $("#magic-line", context); 

      $magicLine 
       .width($("#main-menu-links li.active").width()) 
       .css("left", $("#main-menu-links li.active a").position().left) 
       .data("origLeft", $magicLine.position().left) 
       .data("origWidth", $magicLine.width()); 

      $("#main-menu-links li a").hover(function() { 
       $el = $(this); 
       leftPos = $el.position().left; 
       newWidth = $el.parent().width(); 
       $magicLine.stop().animate({ 
        left: leftPos, 
        width: newWidth 
       }); 
      }, function() { 
       $magicLine.stop().animate({ 
        left: $magicLine.data("origLeft"), 
        width: $magicLine.data("origWidth") 
       }); 
      }); 
     } 
    }; 


})(jQuery); 

我不是程序员,所以我不知道如何解决这个问题。

回答

1

控制台消息:$(“#主菜单链接。主动A”)位置()为null

通常意味着jQuery的找不到那个元素(id为“主锚元素-menu-links“和class =”active“)。你确定活动课被授予你的主菜单链接吗?

+0

我得到了那些没有被标记为“活动”并早期修复它的页面,但在这种情况下,管理员使用模式窗口,所以“活动”类仍然存在。 – 2011-03-02 09:31:37