用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div。
html结构如下:
<div id=\"container\"> <ul class=\"pic\"> <li><a href=\"javascript:;\"><img src=\"DSC01627.jpg\" alt=\"pic1\"></a></li> <li><a href=\"javascript:;\"><img src=\"DSC01628.jpg\" alt=\"pic2\"></a></li> <li><a href=\"javascript:;\"><img src=\"DSC02637.jpg\" alt=\"pic3\"></a></li> </ul> <ul id=\"position\"> <li class=\"cur\"></li> <li class=\"\"></li> <li class=\"\"></li> </ul> <a href=\"javascript:;\" id=\"prev\" class=\"arrow\"><</a> <a href=\"javascript:;\" id=\"next\" class=\"arrow\">></a> </div>
css设置:
*{ margin: 0; padding: 0; text-decoration: none; } ul{ list-style: none; } #container{ position: relative; width: 400px; height: 200px; margin: 20px auto; } .pic li { position: absolute; top: 0; left: 0; display: none; } .pic li img { width: 400px; height: 200px; } #position{ position: absolute; bottom: 0; right:0; margin: 0; background: #000; opacity: 0.4; width: 400px; text-align: center; } #position li{ width: 10px; height: 10px; margin:0 2px; display: inline-block; -webkit-border-radius: 5px; border-radius: 5px; background-color: #afafaf; } #position .cur{ background-color: #ff0000; } .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px; position: absolute; z-index: 2; top: 50%; margin-top: -20px; /*width的一半*/ background-color: RGBA(0,0,0,.3); color: #fff; } .arrow:hover { background-color: RGBA(0,0,0,.7); } #container:hover .arrow { display: block; } #prev { left: 20px; } #next { right: 20px; }
JavaScript代码:
$(function(){ //第一张显示 $(\".pic li\").eq(0).show(); //鼠标滑过手动切换,淡入淡出 $(\"#position li\").mouseover(function() { $(this).addClass(\'cur\').siblings().removeClass(\"cur\"); var index = $(this).index(); i = index;//不加这句有个bug,鼠标移出小圆点后,自动轮播不是小圆点的后一个 // $(\".pic li\").eq(index).show().siblings().hide(); $(\".pic li\").eq(index).fadeIn(500).siblings().fadeOut(500); }); //自动轮播 var i=0; var timer=setInterval(play,2000); //向右切换 var play=function(){ i++; i = i > 2 ? 0 : i ; $(\"#position li\").eq(i).addClass(\'cur\').siblings().removeClass(\"cur\"); $(\".pic li\").eq(i).fadeIn(500).siblings().fadeOut(500); } //向左切换 var playLeft=function(){ i--; i = i < 0 ? 2 : i ; $(\"#position li\").eq(i).addClass(\'cur\').siblings().removeClass(\"cur\"); $(\".pic li\").eq(i).fadeIn(500).siblings().fadeOut(500); } //鼠标移入移出效果 $(\"#container\").hover(function() { clearInterval(timer); }, function() { timer=setInterval(play,2000); }); //左右点击切换 $(\"#prev\").click(function(){ playLeft(); }) $(\"#next\").click(function(){ play(); }) })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持phpstudy。
本文地址:https://www.stayed.cn/item/6658
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我