2009-05-18 7 views
1

Je viens de lancer http://tweetmp.org.au/ avec une pile de nouvelles fonctionnalités, y compris le projecteur MP vous pouvez voir sur la page d'accueilJavaScript et jQuery problème de défilement dans tous les navigateurs

Toutes les quelques secondes, le code suivant est exécuté,

// get the next it 
var nextId = ids[Math.floor(Math.random() * ids.length)]; 

$.get('/GetSummary?id=' + nextId, function(result) { 

    if (result) { 
      $('#memberList').fadeOut('slow',function() { 
       $(this).html(result).fadeIn('slow'); 
      }); 
    } 
}); 

qui va et récupère le prochain MP et fane l'ancien et le nouveau. Regarde bien!

MAIS

Si vous faites défiler vers le bas de la page, et attendez jusqu'à ce que le feu des projecteurs MP rafraichit, les rouleaux de navigateur vers #memberList

Est-ce que quelqu'un sait ce qui cause cela? Comment puis-je l'empêcher de défiler?

Toute aide est grandement appréciée.

Répondre

2

Je l'ai corrigé.

J'ai changé les fadeIn et fadeOut à fadeTo entre 0,01 et 1,0

Il semble jQuery fixe display: none lorsque l'opacité atteint 0, diminuant ainsi la taille de la page (forçant le défilement vers le haut)

+0

Merci de nous avoir indiqué comment vous l'avez réparée. J'ai tendance à éviter fadeOut/fadeTo et toutes les configurations par défaut. Je préfère avoir plus de contrôle, par ex. $ (elem) .animate ({opacité: 0,7}); – James

0

Pouvez-vous essayer:

$.get('/GetSummary?id=' + nextId, function(result) { 

    $('#memberList').fadeOut('slow').html(result).fadeIn('slow'); 

}); 

?

+0

Cette ne fonctionnera pas comme l'auteur l'a prévu. Le code HTML sera ajouté avant que l'élément ne disparaisse complètement. – James

Questions connexes