Dies ist die Demo in jsfiddle ist, demoJavascript wie Intervallzeit einstellen zu stoppen
Was ich will, die gescrollt Elemente (‚eins‘ wird lassen, ‚zwei‘, ‚drei‘, ‚4‘, " 5 ',' 6 ',' 7 ') scrollt automatisch nach oben, wie das Demo gezeigt hat, und stoppt 2 Sekunden, wenn es in der mittleren Position ist. Aber in meiner Demo wird es eine Weile nach dem Halt in der mittleren Position shack.
Hier ist der Platz in meinem Demo-Code für die Einstellung der Position.
if ((x == 0) || (x % 35== 0)) {
setTimeout(function() {
i.top = x + 'px';
}, 1000);
} else {
i.top = x + 'px';
}
Jeder kann mir helfen? Vielen Dank!
UPDATE: Der Grund, warum ich 35 eingestellt habe, ist, weil ich festgestellt habe, dass die gescrollt Elemente in etwa in der mittleren Position sind, wenn es gleich 0, -35, -70, -105, .... Aber wenn ich trete alle x, fand ich, dass der Wert von x zwischen (31, -251) ist. Weißt du, wie man die genaue Position findet, wenn sich jedes Einzelteil in der Mitte der Position befindet? Vielen Dank!
dass shakin sehr komisch aussieht –
Ja, komisch. Es scheint wegen der Konfliktzeit zwischen setTimeout und setInterval (die in der Unterseite meines Codes ist) –
+1 für den lustigen Shake. – DontVoteMeDown