2011-05-17 172 views
0

我基本上写我自己的jQuery悬停效果插件,除了在IE(9,8,7)在所有浏览器工程....jQuery的悬停效果问题

这里是链接:http://www.fiver.org/web/testing 这是代码:

function go() 
{ 

    hoverEffect = document.getElementsByName("hoverEffect"); 
    for (i=0; i<hoverEffect.length; i++) 
    { 
    $(hoverEffect[i]).bind('mouseenter', bMouseOver); 
    $(hoverEffect[i]).bind('mouseleave', bMouseOut); 
    } 

    function bMouseOver(e) 
    { 
    $(this).find(".fadebox") 
     .animate({opacity: 1}, 
     300);           
    } 


    function bMouseOut(e) 
    { 
    $(this).find(".fadebox") 
     .animate({opacity: 0}, 
     {duration: 'slow'}); 

    } 


} 

$(document).ready(function(){ 
    go(); 
}); 

它是一个的裂纹我的头一个基本的悬停效果!你有什么想法???

最佳,

+0

你有点给了我们一半的代码和一个断开的链接 – Chris 2011-05-17 16:04:04

+0

@Chris格式问题,我至少修复了这个部分。 – 2011-05-17 16:06:07

+0

那是一个破链接 – Neal 2011-05-17 16:10:34

回答

-1

尝试使用不透明度:使用.00零不透明度,而不是0的时候我真的不能解释和发现任何0

jQuery的不透明度动画效果更好:不是不透明度.00文件为什么这是,但它已经解决了我过去的问题。

又谈何不在这个脚本的工作将有助于一点:)的详细信息

+0

是什么?那会做什么? – Neal 2011-05-17 16:10:19

0

IE-S getElementsByName有一些问题,我不会依赖于它。

尝试给这些元素一个类,而不是名称,并选择它们与jQuery。

HTML:

<div class="hoverEffect">one</div>  
<div class="hoverEffect">two</div> 
<div class="hoverEffect">three</div> 

与jQuery选择它们,分配事件:

$(".hoverEffect").bind('mouseenter', bMouseOver); 
$(".hoverEffect").bind('mouseleave', bMouseOut); 

这也将摆脱通过DOM一个额外的迭代和的使用不必要的数组(hoverEffect [])

+1

由于元素具有名称属性,为什么不使用jQuery来选择名称呢? '$( '[名称= “hoverEffect”]')'。不是最快的选择器,但它不应该比使用类选择器慢。 – Michal 2011-05-17 16:23:18

+1

您的课程选择器还有一个问题,您忘记了您的“。”。 – scrappedcola 2011-05-17 17:10:58

+0

@scrappedcola谢谢你,选择器修复 – beerwin 2011-05-17 22:23:28