2016-03-31 7 views
0

Ich arbeite an einer webbasierten App (mit Javascript, Jquery, html, css), die einfach herunterscrollen würde Die Anzahl der Kanäle ist größer als die Höhe des Bildschirms, ich muss Scroll-Funktionalität verwenden, wenn alle 10 Kanäle nach unten oder oben erreicht wird, verwende ich ScrollTop-Methode für diesen Zweck.Scrollen Sie zu einem bestimmten Punkt in der Liste und blättern Sie dann zum nächsten bestimmten Eintrag in der Liste.

so lassen Sie mich meine Frage wie diese vereinfachen (wenn jemand diese Frage beantworten, hilft es mir mein eigentliches Ziel zu erreichen)

Ich habe Liste der Elemente, und ich weiß, wie kann ich in der Liste auf bestimmtes Element blättern , aber mein Ziel ist nach dem ersten Scrollen zu Punkt 8., seTimeout und dann zum nächsten spezifischen Element (Punkt 14.) der Liste scrollen. Ich weiß, wie kann ich zum ersten spezifischen Element scrollen, aber ich weiß nicht nach Timeout, wie ich zum nächsten spezifischen Element scrollen kann (Punkt 14.).

hier ist der Code für das erste Element Scrollen der gut arbeitet:

`http://jsfiddle.net/xY7tx/2339/` 

Basis auf über Code, der funktioniert, habe ich versucht, folgenden Code hinzuzufügen, ist mein Ziel, zunächst wäre es 8 Artikel blättern und dann 3 Sekunden Timeout dann würde es der 14. Artikel blättern (die nicht wollten), bitte jemand mir sagen, wie kann ich das beheben, dass hier der zweite Code ist, der nicht als Wunsch wird funktionieren:

`http://jsfiddle.net/xY7tx/2338/` 

Dank!

+1

http://stackoverflow.com/help/how-to-ask fügen Sie auch Ihren Code inline hinzu. – StefanS

Antwort

2

können Sie erstellen Array mit allen Position, die Sie verwenden möchten, und nach Timeout entfernen erste Element des Array

var container = $('div'), 
     scrollTo = new Array($('#row_8'),$("#row_10"),$("#row_14"),$("#row_2")); 

    container.scrollTop(
     scrollTo[0].offset().top - container.offset().top + container.scrollTop() 
    ); 

    scrollTo.shift(); 

    var refreshIntervalId = setInterval(function(){ 
    if(scrollTo.length!=0){ 
     container.scrollTop(
      scrollTo[0].offset().top - container.offset().top + container.scrollTop() 
    ); 
     scrollTo.shift(); 
    }else{ 
    clearInterval(refreshIntervalId); 
    } 
    },3000); 

EDIT

Add überprüfen, ob Array leer Stopp-Intervall ist

Example

+0

Danke Für Ihre Antwort habe ich den ursprünglichen Beitrag mit dem Problem bearbeitet, bitte sehen Sie es sich an. – Jack

+0

Entschuldigung, dass ich Ihren Beitrag vorübergehend als Akzeptiert abnehme, weil mein Problem immer noch besteht und ich nach neuen Antworten suche oder vielleicht nachdem ich mehr Informationen durch Bearbeitung meines Posts gegeben habe, Sie oder jemand anderes, der genauso nett ist wie Sie mir eine neue Idee geben könnte oder Lösung! Grüße! – Jack

+0

Wie auch immer, es scheint niemand sucht mein Problem für eine Weile, also obwohl ich keine Lösung für mein Problem gefunden habe, wähle ich Ihre Antwort als beste, Danke! – Jack

Verwandte Themen