首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在IE中调用两类jquery - issue

在IE中调用两类jquery - issue
EN

Stack Overflow用户
提问于 2010-08-18 05:37:10
回答 3查看 2.4K关注 0票数 0

Firefox运行得很好,Opera很棒,Chrome也运行得很好。IE才是问题所在。它似乎是IE的任何版本。

该网站是http://s91532.gridserver.com,无论你点击哪里,它都会从顶部打开我们的javascript菜单。

当您将鼠标悬停在图像上时,它会向您显示正确的路径和所有内容,但当您单击它时,它只会向下拉出部级索引下拉列表

我已经删除了有问题的jquery,它是一个旧版本,现在只调用site.js,它是下面的代码:

代码语言:javascript
运行
复制
jQuery.noConflict();

jQuery(document).ready(function(){
   $('p#minguide-link a').click(function(){
      if ($('#index-wrapper').is(':hidden')) {
         $('#index-wrapper').slideDown('medium');
         $('p#minguide-link a').addClass('down');
         return false;
      } else {
         $('#index-wrapper').slideUp('medium');
         $('p#minguide-link a').removeClass('down');
         return false;
      }
   });

   var group_width = $('li#nav_groups ul').width();
   var group_adj = ((group_width*-1)/2)+79;
   var care_width = $('li#nav_care--serve ul').width();
   var care_adj = ((care_width*-1)/2)+79;
   var sermon_width = $('li#nav_sermons ul').width() + 2;
   var sermon_adj = ((sermon_width*-1)/2)+79;

   $('li#nav_groups.current ul').css({"left":"auto", "margin-left":group_adj});
   $('li#nav_care--serve.current ul').css({"left":"auto", "margin-left":care_adj});
   $('li#nav_sermons.current ul').css({"left":"auto", "margin-left":sermon_adj});
});

仅此一项被调用时什么也不会发生。据我所知,它现在已经在IE中修复了。

现在,我如何让site.js被正确调用,这样菜单才能正确下拉。

EN

回答 3

Stack Overflow用户

发布于 2010-08-18 05:52:58

http://codex.wordpress.org/Function_Reference/wp_enqueue_javascript/

我从来没有遇到过任何问题。您正在调用冲突的jQuery版本,因此只需使用较好的版本即可。

此外,site.js没有在兼容模式下使用jQuery。

jQuery(document).ready(function(){

$(document).ready(function(){

编辑

您的站点正在无冲突模式下运行。您必须在site.js的开头去掉那个$。它在任何事情发生之前抛出一个错误。要解决这个问题,您只需将第一个$更改为jQuery。不过,所有其他$都没问题。

只需将整个文件的内容替换为以下内容:

代码语言:javascript
运行
复制
jQuery(document).ready(function() {
   $('p#minguide-link a').click(function(){
      $('#index-wrapper').slideToggle();
      $('p#minguide-link a').toggleClass('down');
      return false;
   });

   var group_width = $('li#nav_groups ul').width();
   var group_adj = ((group_width*-1)/2)+79;
   var care_width = $('li#nav_care--serve ul').width();
   var care_adj = ((care_width*-1)/2)+79;
   var sermon_width = $('li#nav_sermons ul').width() + 2;
   var sermon_adj = ((sermon_width*-1)/2)+79;

   $('li#nav_groups.current ul').css({"left":"auto", "margin-left":group_adj});
   $('li#nav_care--serve.current ul').css({"left":"auto", "margin-left":care_adj});
   $('li#nav_sermons.current ul').css({"left":"auto", "margin-left":sermon_adj});
});

另外,我真的建议你去查一下jQuery's API。它非常容易学习,并且非常直观地组织/布局。搜索是轻而易举的。

票数 0
EN

Stack Overflow用户

发布于 2010-08-18 05:56:56

Matthew,将jquery 1.3脚本标签替换为jquery 1.4脚本标签,确保所有其他脚本标签都放在jquery脚本标签之后;)

票数 0
EN

Stack Overflow用户

发布于 2010-08-18 05:57:04

我强烈建议您让所有内容都与最新版本的库一起工作,但您可以尝试这样做:包括旧的jQuery,然后在该行后面添加以下内容:

代码语言:javascript
运行
复制
<script>
  jQuery.noConflict();
</script>

然后包含修改后的site.js文件,如下所示:

代码语言:javascript
运行
复制
jQuery(function($) {
  // existing code
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3507180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档