2010-02-18 3 views
2

Je cherche des conseils sur la façon de créer un effet de défilement automatique en utilisant jQuery qui permettrait à un div entier dans une page de commencer à défiler verticalement lors du chargement à une vitesse lente constante. Ce serait un div avec une grande quantité de contenu dont seulement une petite quantité était visible sur l'écran à un moment donné.jQuery div autoscroll

Le défilement doit être automatique, lisse et à un taux défini, par exemple 10 pixels par seconde. De plus, lorsque le parchemin arrive au bas de la page, je dois pouvoir appeler une fonction.

J'ai essayé quelques plugins jQuery mais je n'ai encore rien trouvé qui fonctionne de manière fiable. Quelqu'un peut-il suggérer une approche à prendre ici?

Merci

Simon

Répondre

10

Cela peut facilement se faire sans jquery.

function init() { 

    var div = document.getElementById("myDiv"); 

    // increase the scroll position by 10 px every 10th of a second 
    setInterval(function() { 
     // make sure it's not at the bottom 
     if (div.scrollTop < div.scrollHeight - div.clientHeight) 
      div.scrollTop += 10; // move down 
    }, 100); // 100 milliseconds 

} 
+3

Pas assez jQuery :( [Exemple] (http://4.bp.blogspot.com/-Hk1mt-RKYLc/UOkxShm6NrI /AAAAAAAACqo/LVmqHOfWV7g/s1600/20091116-so-large.gif) – helios456

+0

Pourquoi utiliser la performance d'une bibliothèque supplémentaire lorsque la tâche est simple dans un JS natif? Ce code devrait fonctionner dans tous les navigateurs modernes ainsi que IE6 + et Firefox 2.0+ – Joel

+3

Je crois que c'était une blague –

1

essayer ce plugin: scrollTo

en particulier les onAfter