JavaScript和jQuery相互冲突

时间:2013-05-07 12:55:47

标签: javascript dreamweaver jquery conflicting-libraries

我创建了一个网页顶部带有导航栏的网站,其中一些翻转图像作为链接。我使用Dreamweaver,所以Dreamweaver为我做了JS。但我最近添加了一个名为Orbit的jQuery图库/幻灯片(Orbit创建者:zurb.com/playground/jquery_image_slider_plugin)。

然而,jQuery似乎会影响翻转图像的JavaScript并与之发生冲突,因此当鼠标翻转时,图像不会改变且不可点击。由于某种原因,它只影响5个链接中的前3个。此外,问题出现在Chrome,Firefox和Opera中,但奇怪的是在Internet Explorer中运行得非常好。

我试图以各种方式使用jQuery.noConflict,但它不起作用,问题仍然存在。

出现此问题的网址是:http://www.eastfieldjoinery.com/gallery.html 要了解导航栏应该执行的操作的网址是:www.eastfieldjoinery.com /

以下是Dreamweaver编写的翻转图像的JavaScript代码:

    <script type="text/javascript">
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>

以下是Orbit幻灯片的jQuery代码链接:http://www.eastfieldjoinery.com/JavaScript/jquery.orbit-1.2.3.js

我很感激你能给我的任何解决方案。感谢。

2 个答案:

答案 0 :(得分:1)

在CSS中为您的链接添加z-index:10。幻灯片的div块正在进行鼠标移动。将z-index添加到链接使它们位于“不可见”div之上。

答案 1 :(得分:0)

这似乎是一个CSS问题。如果仔细观察,div实际上是悬挂在前3个菜单项上,因此悬停工作正常,div只是重叠菜单项,因此无法点击。

你应该尝试在div class =“orbit-wrapper”&gt;上面添加它:

<div class="clear"></div>

和css:

.clear {
    clear: both;
}

你也可能想要从轨道包装器中拿走位置:相对并为它添加一些填充。

另一个选项是将z-index添加到orbit-wrapper div为1,并给菜单链接一个z-index为10.

更多信息:http://www.w3schools.com/cssref/pr_pos_z-index.asp