2016-07-14 13 views
3

ich ein jsfiddle als Antwort auf How to build fullscreen slider like this? (jetzt in der Warteschleife) gemacht
Ich weiß, zu schnell Bugs es Scrollen und das in beiden Richtungen Scrollen macht das Gleiche, aber mein Problem ist, dass, wenn die Seite geladen wird, es scrollt automatisch, sobald
Code IScroll-Funktion ausführt, auch wenn Seite geladen

var leftImg = document.getElementsByClassName('left'); 
var rightImg = document.getElementsByClassName('right'); 
var cur = 0; 
for (i=0; i<3; i++){ 
    leftImg[i].style.zIndex = rightImg[i].style.zIndex = -(i+1); 
} 

window.onmousewheel = changeImage(); 

function changeImage() { 
    leftImg[cur].style.top= "-100%"; 
    rightImg[cur].style.top= "100%"; 
    setTimeout(function(){ 
    window.onmousewheel = changeImage; 
    leftImg[cur].style.zIndex=rightImg[cur].style.zIndex=-(cur+4); 
    leftImg[cur].style.top=rightImg[cur].style.top="0"; 
    cur++; 
    if(cur === 3) { 
    cur = 0; 
for (i=0; i<3; i++){ 
    leftImg[i].style.zIndex = rightImg[i].style.zIndex = -(i+1); 
} 
    } 
}, 3000); 
    window.onmousewheel = preventDefault; 
} 

verwendet Warum?

+1

was ist Ihre Anforderung? –

+0

wollte nur wissen, warum es einmal scrollt, wenn die Seite lädt –

Antwort

0

EDITED # 2

Keine Notwendigkeit für die Schleife noch TimeOut

var cur = 2; 
var zIndex = -1; 

window.onmousewheel = changeImage; 
function changeImage() { 

    var leftImg = document.getElementsByClassName('left'); 
    var rightImg = document.getElementsByClassName('right'); 
    leftImg[cur].style.top = "-100%"; 
    rightImg[cur].style.top = "100%"; 
    if (leftImg[(cur + 1) % 3].style.top === "-100%") { 
     leftImg[(cur + 1) % 3].style.zIndex = rightImg[(cur + 1) % 3].style.zIndex = (zIndex); 
     leftImg[(cur + 1) % 3].style.top = rightImg[(cur + 1) % 3].style.top = "0%"; 

    } 
    zIndex--; 
    cur--; 
    if (cur === -1) { 
     cur = 2; 
    } 

} 

Siehe fiddle

+0

Nicht sicher, warum, aber es funktioniert nicht für mich –

+0

oops Ich postete den falschen Code ... Halten Sie – Roysh

+0

versuchen Sie es jetzt. sollte funktionieren – Roysh

Verwandte Themen