2010-11-16 9 views
0

Un script sur ma page provoque une boucle infinie dans FireFox.JS provoquant une boucle infinie dans Firefox

Voici le Javascript:

function expandMothersRings(new_height) 
{ 
    window.scrollTo(0, 0); 
    $('#mr-container').animate({ 
     height: new_height 
    }, 100, function() { 
     // Animation complete. 
    }); 
} 

Ceci est appelé par l'intermédiaire ExternalInterface d'un objet Flex:

var tiles_height:Number = 175+Math.ceil(MothersRingData.getInstance().styleArrayCollection.length/4)*175; 
ExternalInterface.call("expandMothersRings", tiles_height + 300); 

Il n'y a pas de problème dans IE ou Chrome. Mais pour une raison quelconque, la fonction expandMothersRings est en boucle infinie dans FF.

L'objet flex n'attend aucune valeur de retour de Javascript. Aussi, si je change la fonction JS pour ressembler à:

function expandMothersRings(new_height) 
{ 
    alert(new_height); 
} 

Ensuite, il ne s'exécute qu'une seule fois. Donc quelque chose dans la fonction l'amène à boucler dans Firefox.

Je ne sais pas quoi?

est ici the page

+0

La page ne cesse d'essayer de recharger pour moi en FF .. cela pourrait-il être à l'origine de votre problème? – drudge

+0

Avez-vous du code dans la méthode "Animation complète"? –

+0

@Shadow Wizard, non je ne l'ai pas fait, je pensais que je pourrais en ajouter, alors je l'ai laissé commenter comme ça pendant le débogage, mais je n'en avais pas besoin. Il s'avère que je n'en avais pas vraiment besoin pour animer non plus, comme vous pouvez le voir, je l'avais réglé à 100ms. Je l'ai changé pour ne pas animer du tout juste le régler, cela a réglé le problème. –

Répondre

0

Je remplacé

$('#mr-container').animate({ 
    height: new_height 
}, 100, function() { 
    // Animation complete. 
}); 

avec

$("#mr-container").height(new_height); 

qui ont fixé la question.