为了账号安全,请及时绑定邮箱和手机立即绑定

焦点图轮播特效

难度初级
时长 1小时 1分
学习人数
综合评分9.73
263人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.6 逻辑清晰
老师讲的挺好。懂了很多

最赞回答 / oldwan
getElementsByTagName(),这个方法和getElementById不一样,中间有个s
http://cbooo.com/js/banner.html

自己做了一个玩,不限制张数

最赞回答 / 零下的夏天
首先你使用document.getElementsByClassName()来获取元素其实获取的是一个数组,并不是这个元素,你这样写document.getElementsByClassName("container")[0]; 在获取元素后加个[0],,然后再点击prev或者next就会发现容器的left值有变化

最新回答 / web开发小菜鸟
你没有在goto()的函数里面调用自身也就是goto(),无法触发setTimeout,所以函数动画无法实现。

已采纳回答 / Siming0
就是自定义的属性值呀,这个不是index不是标签的属性,是认为的取的,像value,class,id这些是标签的该有属性
play()中应当一开始就设置clearInterval(timer),不然你鼠标进出就会出现动画混乱。当然,如果你想一进去就开始轮播,可以在最后onmouseover & onmouseout 之前加一个play()。老师的封装思想还不够呀,讲的有点混乱,总体还是好的。
我放弃了。。。。。。。不是听不懂。总感觉代码可以更加优化。。。。。

已采纳回答 / Uncle_z
setTimeout();只是延迟500ms执行函数,还会触发多次应该是图片上或者正个大的div父元素上也挂了事件函数,发生了事件冒泡,你在子元素的函数执行结束之后取消冒泡应该就好了

最赞回答 / Sunnylincon
注意你第六行写的是var buttons = document.getElementById('buttons');这样获取的只是一个对象,此时buttons[index-1]这个是不存在的,自然也没有相对应的className,应当改成var buttons=document.getElementById('buttons').getElementsByTagName('span'),此时buttons才是一个数组
课程须知
您需要有HTML,CSS经验,能使用CSS制作静态页面,并对JS基础知识有一定的了解
老师告诉你能学到什么?
您将能掌握非常实用的焦点图轮播特效的制作过程。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消