
在HTML,CSS代码结构中我们需要加入一个图片序列是否选中的样式
#slider ol li a.active{background-color: #ffffff;color: #ff0000;}JS代码中我们需要对上一篇文章的JS代码做一些改变和增加,这里首先要改变的是将跳转的代码做一次封装,封装到一个方法中,然后返回setInterval的值.这个主要是为序列节点实现一些功能.//图片节点var slider = document.getElementById("slider");var imgul = slider.getElementsByTagName("ul")[0];var imglis = imgul.getElementsByTagName("li");var len = imglis.length;//图片序列节点var numol = slider.getElementsByTagName("ol")[0];var numlinks = numol.getElementsByTagName("a");//共享序列var index = 0;//图片跳转,图片跳转的同时,改变序列节点的跳转var jump = function () {return setInterval(function(){if(index >= len){index = 0;}//图片跳转imgul.style.left = - (800 * index) + "px";//改变序列节点样式:首先要清除所有的链接的样式,然后在激活对应的序列节点样式for (var i = 0; i < len; i++) {numlinks[i].setAttribute("class","");}numlinks[index].setAttribute("class","active");index++;},2000);};var jumpindex = jump();这里还需要加入序列节点的hover状态下的控制.//增加序列节点的hover控制: 1. hover后要禁止图片的跳转,显示在当前的图片上,这里就需要清除跳转 2.hover离开后,在当前的图片上做图片的跳转for (var i = 0; i < len; i++){//hovernumlinks[i].onmouseover = function () {clearInterval(jumpindex);for (var i = 0; i < len; i++) {numlinks[i].setAttribute("class","");if (numlinks[i] === this){index = i;}}imgul.style.left = - (800 * index) + "px";numlinks[index].setAttribute("class","active");}//outnumlinks[i].onmouseout = function(){jumpindex = jump();}}这样我们就完成了第二步的效果.到此本文的全部叙述也就给大家介绍完了,希望对大家有所帮助。