Javascript 在IE中调用两种类型的jquery-issue

Javascript 在IE中调用两种类型的jquery-issue,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,Firefox很好用,Opera很棒,Chrome也很好用。这就是问题所在。它似乎是IE的任何版本 该网站是免费的,无论你点击哪里,它都会从顶部下拉我们的javascript菜单 当你将鼠标悬停在图像上时,它会显示正确的路径和所有内容,但当你单击它时,它只会下拉“部长索引”下拉列表 我已经删除了旧版本的jquery,现在只调用site.js,代码如下: jQuery.noConflict(); jQuery(document).ready(function(){ $('p#minguid

Firefox很好用,Opera很棒,Chrome也很好用。这就是问题所在。它似乎是IE的任何版本

该网站是免费的,无论你点击哪里,它都会从顶部下拉我们的javascript菜单

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

我已经删除了旧版本的jquery,现在只调用site.js,代码如下:

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,使菜单正确下拉。

如果没有任何有用的信息(链接除外),我所能做的就是向您指出本文:

您应该使用1.4.2。我从来没有遇到过任何问题。您正在调用相互冲突的jQuery版本,所以请使用更好的版本

另外,site.js没有在兼容模式下使用jQuery。你应该把第一行改成

jQuery(document).ready(function(){

不是

$(文档).ready(函数(){

编辑

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

以下是jQuery 1.4.2中的site.js。只需将整个文件的内容替换为:

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});
});

此外,我真的建议您查找。它非常容易学习,而且组织/布局非常直观。而且搜索很容易。

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

我强烈建议您使用最新版本的库,但您可以尝试以下方法:包括旧的jQuery,然后在该行之后添加以下内容:

<script>
  jQuery.noConflict();
</script>

你真的不应该使用2个版本的jQuery!!删除旧版本并发布与1.4.2不兼容的代码。你最好修复它。使用1个版本的jQuery,根据旧的jQuery版本更新代码。否则,就没有好的awnser。我看不到IE8中描述的行为。在IE8中,当我单击图像时,看起来s尝试启动某种“lightbox”功能,但该功能不起作用,它会发出错误警报().Pointy我也看到了。我添加了site.js,它似乎依赖于对1.3的调用。如果我将代码移到对site.js的调用下面,它将无法以页面设置的方式工作,使用旧的jQuery,然后是脚本,然后是新的jQuery,将会发生的是,新的jQuery将有效地消除初始化block,因为它将覆盖旧jQuery设置的所有内容。我已经删除了对1.3的调用,并编辑了site.js以添加代码。仍然没有任何内容。IE工作正常,但现在菜单没有下拉。好吧,这有助于在按下时允许菜单返回。但是,它现在在IE7中显示奇怪的东西。因此我单击下拉菜单看起来好像是在加载图片。但是当我点击右边的一个按钮时,它会把菜单拉下来。该死的JS!1.3的使用让我很痛苦,但我需要为下拉菜单加载一些东西。@Matthew,我感觉到了你的痛苦,但我想你必须做出选择:为了让2 jQuery版本能够正常工作而进行黑客攻击的痛苦s、 或者说,我很想让它和1一起工作,但我不知道怎么做。我可以找到解决CSS问题的方法,但JS是我力所不及的。如果我去掉了一个,我假设site.JS不是一个完整的javascript?我已经尝试过了,它不起作用。它还会调用1.4.2两次L
jQuery(function($) {
  // existing code
});