2011-05-17 235 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