2015-10-14 133 views
0

我用ScrollBy做了一個簡單的onmouseDown滾動。現在我無法阻止它直到結束。 我希望它停止滾動OnMouseUp。我嘗試了一些東西,但沒有奏效。 這裏是你的代碼:在mouseup上停止滾動

<button onmousedown="skrull();" onmouseup="stop();" style="position:fixed;">Click to scroll <3</button> 

<p>Some text and line breaks to enable scrolling!</p> 

<script> 
function scrollWin() { 
    window.scrollBy(0, 100); 
} 
skrull = function skree() {setInterval(scrollWin, 100);} 
function stop() { 
    clearInterval(skrull); 
} 
</script> 

謝謝

回答

0

你的間隔需要被存儲在一個範圍內,使得它到你的stop()功能訪問。現在你在功能skrull上調用clearInterval,它不返回任何內容。

嘗試這樣:

<button onmousedown="skrull();" onmouseup="stop();" style="position:fixed;">Click to scroll <3</button> 

<p>Some text and line breaks to enable scrolling!</p> 

<script> 
var skrullInterval; 
function scrollWin() { 
    window.scrollBy(0, 100); 
} 
skrull = function skree() {skrullInterval = setInterval(scrollWin, 100);} 
function stop() { 
    clearInterval(skrullInterval); 
} 
</script> 
+0

太好了!有效。感謝您的解釋和明確的解決方案。 –