[问题] 新手请问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