2015-07-03 84 views
0

我想添加一個'onmouseover停止'設置這段代碼。這是因爲我打算寫很長一段文字,我想給讀者一個改變,以防止文本在沒有停止閱讀的情況下發生改變。添加停止onmouse到這個簡單的代碼

我發現了類似的問題,但它們與停止鼠標懸停滾動字幕有關。我曾嘗試添加相同的代碼,似乎使選框停止,但它只是讓我的代碼停止工作在一起。

<div id="changeText" ></div> 
<script type="text/javascript"> 
    var text = ["1", "2", "3"]; 
    var counter = 0; 
    var elem = document.getElementById("changeText"); 
    setInterval(change, 5000); 
    function change() { 
     elem.innerHTML = text[counter]; 
     counter++; 
     if(counter >= text.length) { counter = 0; } 
    } 
</script> 
+0

和'onmouseover'代碼你有沒有嘗試過? – hoss

+0

是的。請鏈接到您已經找到的問題。 –

+0

我發現我需要添加這個「document.getElementById(」changeText「)。onmouseover = stop;然後再document.getElementById(」slideshow「)。onmouseout = start; – Ram

回答

0

您可以使用clearInterval()並通過intervalId你setInterval()呼叫鼠標懸停事件返回,然後重新啓動鼠標移開時,如下圖所示的更新示例代碼:

<div onmouseover="stop()" onmouseout="start()" id="changeText" ></div> 
<script type="text/javascript"> 
var text = ["1", "2", "3"]; 
var counter = 0; 
var elem = document.getElementById("changeText"); 
var intervalId; 
start(); 

function start() { 
    intervalId = setInterval(change, 5000); 
    function change() { 
     elem.innerHTML = text[counter]; 
     counter++; 
     if(counter >= text.length) { counter = 0; } 
    } 
} 

function stop() { 
    clearInterval(intervalId); 
} 

</script> 
+0

非常感謝你zerga!我想我是咆哮錯誤的樹:\ – Ram

相關問題