【发布时间】:2011-01-08 15:09:21
【问题描述】:
我正在将 Drupal 6 主题更新为 Drupal 7。在 Drupal 6 版本中,我有一个不错的小菜单功能,它将 JQuery 注入主菜单以使其作为下拉菜单工作(+ 一个预处理功能来获取菜单树),效果很好。
在我的主题的 Drupal 7 版本中,我在我的信息文件中调用 JavaScript,就像在 Drupal 6 中所做的那样,查看渲染页面的源代码,它并没有注入菜单本身。我调用下面的脚本以及标准的 superfish.js(它在 Drupal 6 中再次运行良好。)
Drupal.behaviors.skyBehavior = function(context) {
/**
* Superfish Menus
* http://users.tpg.com.au/j_birch/plugins/superfish/
* @see js/superfish.js
*/
jQuery('#navigation ul').superfish({
animation: { opacity: 'show', height:'show' },
easing: 'swing',
speed: 250,
autoArrows: false,
dropShadows: false /* Needed for IE */
});
};
我相信完成所有繁重工作的线路是:jQuery('#navigation ul').superfish({
(请注意,我的菜单周围的 div id 是“#navigation”,然后<ul> 标记在此之后开始。)
我正在我的 Drupal 7 版本中运行一个预处理函数来获取主菜单的菜单树,我可以看到在 Firebug 中查看的整个树,但我可以看到 Jquery 注入的代码丢失了。
在我的 Drupal 6 主题中,我会看到:
<ul class="menu sf-js-enabled" style="visibility: hidden; display: none;">...——当然,鼠标悬停会将“显示:无”更改为“可见”。
但在我的主题的 Drupal 7 版本中,我在 Firebug 中看到的只是:
<ul class="menu">...
我对 JavaScript 知之甚少,所以我希望这可能会敲响某人关于如何找到修复程序的警钟。谢谢。
【问题讨论】:
标签: javascript jquery drupal themes superfish