[javascript] autoscroll vid mouseOver över pil?

Permalänk
Medlem

[javascript] autoscroll vid mouseOver över pil?

hej! jag har skrivit ett skript som göra att jag kan scrolla en div när en annan div får mouseOver:

<script> var c = 0; var time; function scrollDown() { c = c-1; time = setTimeout("scrollDown()", 1); document.getElementById("map").style.top = c + "px"; } function scrollStop() { clearTimeout(time); } </script> <div id="map"></div> <div id="scrollDown" onmouseover="scrollDown()" onmouseout="scrollStop()"></div>

typ så..
problemet är att det här blir väldigt laggigt, det flyter inte alls på som om man tex trycker på scrollhjulet på musen (i firefox) och drar... utan det stannar då o då.

Finns det nått bättre sätt att göra på kanske?

Visa signatur

Asus Zenbook UX32VD-R4002V.

Permalänk
Medlem

I Chrome så laggar det inte alls, flyter på riktigt bra. Men i Firefox så förstår jag vad du menar. Är osäker om jag verkligen såg någon större skillnad men testa med att flytta på raden "setTimeout" efter "style.top = c + 'px'". Så här:

function scrollDown() { c = c+1; document.getElementById("map").style.top = c + "px"; time = setTimeout("scrollDown()", 1); }

Tidigare så tror jag iaf att du ökade c med 1 och anropade scrollDown innan du ändrade style.top (även om det också funkade så tror jag att det blev lite snabbare när jag flyttade på setTimeout längst ner i funktionen.

Du kan testa det i alla fall. Får se om du ser någon större skillnad. Testa det även i Chrome, där flyter det på som sagt.

Permalänk
Medlem
Skrivet av Chigurh:

I Chrome så laggar det inte alls, flyter på riktigt bra. Men i Firefox så förstår jag vad du menar. Är osäker om jag verkligen såg någon större skillnad men testa med att flytta på raden "setTimeout" efter "style.top = c + 'px'". Så här:

function scrollDown() { c = c+1; document.getElementById("map").style.top = c + "px"; time = setTimeout("scrollDown()", 1); }

Tidigare så tror jag iaf att du ökade c med 1 och anropade scrollDown innan du ändrade style.top (även om det också funkade så tror jag att det blev lite snabbare när jag flyttade på setTimeout längst ner i funktionen.

Du kan testa det i alla fall. Får se om du ser någon större skillnad. Testa det även i Chrome, där flyter det på som sagt.

testade i chrome nu och du har helt rätt, det är tråkigt att chrome är så bra..
Hur kommer de sig att firefox krånglar?

det känns inte helt super än men det är mycket bättre i chorme, men hastigheten svajar lite om man scrollar ett tag... men det kanske man får leva med

Visa signatur

Asus Zenbook UX32VD-R4002V.