今天在做促销页面的图片轮转效果时,下方页码的左边需要对应显示图片的说明信息,效果如下:
思路:
页面部分当为当前状态的时候,会添加“active”样式。
通过获取 li 的索引值,对应找到相应的图片说明信息,显示出来。
解决:
通过jquery的 index() 可以很轻松的实现该效果。
代码如下:
HTML:
<div> <div> <div> <a href="#" mce_href="#"><img src="" /></a> <a href="#" mce_href="#"><img src="" /></a> <a href="#" mce_href="#"><img src="" /></a> <a href="#" mce_href="#"><img src="" /></a> <a href="#" mce_href="#"><img src="" /></a> </div> </div> <div> <div> <span> </span> <span> </span> <span> </span> <span> </span> <span> </span> </div> <ul> <li><span>1</span></li> <li><span>2</span></li> <li><span>3</span></li> <li><span>4</span></li> <li><span>5</span></li> </ul> </div> </div>
JavaScript:
<SCRIPT src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" mce_src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></SCRIPT> <SCRIPT type=text/javascript> var carousedata = [ {index:0,link:"http://www.dangdang.com",imgsrc:"1.jpg",text:"数千款名品手机6折起"}, {index:1,link:"http://www.baidu.com",imgsrc:"2.jpg",text:"测试文本2"}, {index:2,link:"http://www.google.com",imgsrc:"3.jpg",text:"测试文本3"}, {index:3,link:"http://www.soso.com",imgsrc:"xf.jpg",text:"测试文本4"}, {index:4,link:"https://www.jb51.net",imgsrc:"py.jpg",text:"测试文本5"} ]; $(document).ready(function(){ $("#imgcontainer a").each(function(i){ $(this).attr("href",carousedata[i].link); $(this).children("img").attr("src",carousedata[i].imgsrc); }); $(".carouseltext span").each(function(i){ $(this).text(carousedata[i].text); }) setInterval(function(){ var li_index = $("#carouseltitle ul li").index($("#carouseltitle ul li.active")[0]); $(".carouseltext span").hide(); $(".carouseltext span").eq(li_index).show(); },10); }); </script>
这里,我使用setinterval ,没10ms查找一次。
该代码还有可以优化的地方。