[問題] 新手請問javascript廣告輪播問題

作者: pppty (無)   2016-07-19 20:17:23
各位好 小弟最近上課學到javascript
想試著做出簡易像廣告輪播的效果(只是初心者 沒有想太難)
目前想做出上面一張大圖 下面有各個小圖
除了大圖輪播之外 滑鼠移到小圖上會自動切換過去
滑鼠沒離開之前大圖不會繼續輪播
但是寫出來之後反應很奇怪
不移到小圖上之前是正常輪播
一開始移到小圖上也能正確切換
但是一離開之後 大圖輪播速度會自動加劇
再移到小圖上他也不會停下來@@a
試了好久解決不了 希望能請經驗豐富的高手指教
如果不能po在板上 請告知小弟 感謝
以下是我的程式碼(註解部分主要是一開始寫好的原始碼)
修改了很多次 可能跟一開始不一樣
(目前沒顧慮排版問題XD)
https://gist.github.com/anonymous/7d1f4f0f189de059472cafa7d8c41e97
(現在好像無法縮網址@@)
麻煩前輩們了 非常感謝
作者: Ayukawayen (亞布里艾爾發芽>//<)   2016-07-19 21:05:00
clearInterval要傳id進去 (setInterval的回傳值)沒有傳 就不會把timer停掉 所以應該會有多個timer在跑因此觸發timer的頻率就會以倍數增加 猜測是這樣
作者: lostnorth (北風)   2016-07-19 23:53:00
建議用 jsfiddle 分享局部程式碼,方便讓幫忙的人預覽及修改
作者: Ayukawayen (亞布里艾爾發芽>//<)   2016-07-20 00:33:00
沒有實測 這樣寫有可能interval被覆寫掉 所以前一個沒人去停 一個方法是設個isEnabled變數 滑鼠移進去就設去就設為false 移出來就設為true 然後change()裡檢查如果isEnabled是false就不做事等下一次 但沒測過
作者: devil115789 (味噌湯好喝)   2016-07-20 11:32:00
function start(para){var interval=....} 避免覆蓋不然就是一個大圖就用一個object實做
作者: pppty (無)   2016-07-20 16:03:00
第一次貼程式碼 不知道該用哪種分享 不好意思@@a回家再實測各位大大的建議 如果有問題希望能再向各位請教感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com