2011-05-17 10 views
0

je fondamentalement écrit mon propre plugin jQuery effet vol stationnaire qui fonctionne dans tous les navigateurs sauf dans IE (9,8,7) ....jQuery question de l'effet de vol stationnaire sur Internet Explorer

Voici le lien: http://www.fiver.org/web/testing Cette est le code:

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

c'est un effet de vol stationnaire de base qui est la fissuration de ma tête! As tu des idées???

Best,

+0

Vous nous avez donné un demi-code et un lien brisé – Chris

+0

Problème de formatage @Chris, je viens de réparer cette partie au moins. –

+0

qui est un lien brisé – Neal

Répondre

-1

Essayez d'utiliser l'opacité: 00 au lieu de l'opacité: 0

animations d'opacité jQuery fonctionnent mieux lorsque vous utilisez .00 une opacité de zéro au lieu de 0. Je ne peux pas vraiment expliquer et trouver documentation pourquoi c'est, mais il avait réglé mes problèmes dans le passé.

aussi un peu plus d'informations sur ce qui ne je ne travaillerais pas dans ce script aiderait :)

+0

quoi? qu'est-ce que ça va faire? – Neal

0

getElementsByName IE-s a quelques problèmes, compter sur elle. Essayez de donner à ces éléments une classe, au lieu du nom, et sélectionnez-les avec jQuery.

Exemple

HTML:

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

les sélectionnant avec JQuery, et l'attribution d'événements:

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

Cela aussi se débarrasser d'un itérer supplémentaire à travers le DOM et l'utilisation de de tableaux inutiles (hoverEffect [])

+1

Puisque les éléments ont des attributs de nom, pourquoi ne pas simplement utiliser jQuery pour sélectionner le nom? '$ ('[name =" hoverEffect "]')'. Pas le sélecteur le plus rapide, mais il ne devrait pas être plus lent que d'utiliser un sélecteur de classe. – Michal

+1

Votre sélecteur de classe a également un problème que vous avez oublié votre "." – scrappedcola

+0

@scrappedcola merci pour cela, sélecteurs fixes – beerwin