此腳本正在每個鼠標事件上對圖像 執行「翻轉」操作。 mousover並單擊嘗試使用settimeout避免分離的函數
IMG SRC改變, 的問題是,我試圖拖延 通過onClick事件執行的功能 的執行。
我試圖改變功能的setTimeout,但沒有成功
setTimeOut('functionName(param1, param2)', 5000);
nither調用封裝了設定的時間進行
什麼我做錯了什麼功能?
<a href="yourpage.htm">
<img src="images/Button2_Normal.PNG" width="150" id="img2"
onmouseover="mOver(this, image2)" onmouseout="mOut(this, image2)" onclick="mActive(this, image2)" />
</a>
<a href="yourpage.htm">
<img src="images/Button1_Normal.PNG" width="150" id="img1"
onmouseover="mOver(this, image1)" onmouseout="mOut(this, image1)" onclick="mActive(this, image1)">
</a>
的JavaScript
var image1 = new Array("images/Button1_Normal.PNG", "images/Button1_MouseClick.PNG", "images/Button1_MouseOver.PNG"); var image2 = new Array("images/Button2_Normal.PNG", "images/Button2_MouseClick.PNG", "images/Button2_MouseOver.PNG"); var preloadImages = new Array(); // preloads images function Loadimages(images) { for (i = 0; i < images.length; i++) { preloadImages[i] = new Image() preloadImages[i].src = images[i] } } Loadimages(image1); lastN = "" function mOver(obj, images) { if (lastN != obj.id) { document.images[obj.id].src = (images.length == 3 ? images[2] : images[1]) } } function mOut(obj, images) { if (lastN != obj.id) { document.images[obj.id].src = images[0] } } function mActive(obj, images) { var ts1 = document.getElementById('img1'); if (typeof obj != "string") { obj = obj.id } document.images[obj].src = images[1] if (lastN != "" && lastN != obj) { document.images[lastN].src = images[0] } lastN = obj } function timeout_init(obj,images) { setTimeout('mActive(obj, images)', 5500); }
切勿將字符串傳遞給'setTimeout'。永遠。 – jbabey
@jbabey好吧,這是一個很好的...只是所以我知道。並感謝那作爲一個先行者,以避免考慮目前的做法。沒有線索可以解決這個問題。 – LoneXcoder