刚入门web求大神解释这个js源码的意思?

JavaScript015

刚入门web求大神解释这个js源码的意思?,第1张

你好!这段代码是轮播图的自动切换。其中还设置了鼠标移入移出的效果。setInteval函数是个定时器,两个参数:一个是执行的函数,一个是时间间隔。就是根据给定的的时间间隔(单位是毫秒)执行函数。setInterval(autoChange,3000)就是每3秒执行一次autoChange这个函数。说下autoChange函数:有一个current_index变量,用来记录当前显示的轮播图是第几个。每次执行的时候,都会先给这个变量进行自增1个。通过循环判断所有轮播图中的元素,如果索引与变量的值相同,分别设置对应元素的样式,否则设置为另一种样式。再看hotChange函数:定义了一个timer变量,也就是上面说的定时器。找出id为button的元素,并找出它下面的li子元素。用了一个for循环来遍历这个子元素数组。在循环里面做了两件事:为子元素设置onmouseover事件和onmouseout事件。其中onmouseout事件里面就是为timer重新赋值。而onmouseover事件,则是先判断timer变量是否有值。有值的话,使用clearInterval清空,也就是停止定时器;无值的话,则通过循环,为其设置样式。无值这里的循环内逻辑与autoChange函数是相同的。希望对你有帮助!

stop停止动画队列具体参数查下jquery手册,removeClass移除某个class属性的值eq是查找$("#focus .btn span")

的索引是index的元素让他停止动画队列再给他加上class为on的值

具体的意思就是先停止所有$("#focus .btn span")的动画让他们的class全部不为on

再让$("#focus .btn span")

的索引等于index的元素加上class为on的值

autoPlay:true, 改为如下代码即可:

autoPlay: {

enabled: true, //是否启用自动播放

pauseOnHover: true, //鼠标移入暂停播放

delay: 6000//播放间隔,单位ms

},