网站轮播图 太耳熟的词了 基本上做pc端的 主页绝壁会来一个轮播图的特效
轮播图他一个页面页面的切换,其实的原理是通过css的定位 ,定位到一起,第一张首先显示,其余默认隐藏。
今天我实现的这个轮播仅是一个下面带数字的简单轮播,先搭好框架,以后遇到实际项目可根据这个的原有的基础上,进行调试
第一步
写好html
<div id="banner">
<ul>
<li class="on">1</li> <li>2</li> <li>3</li> <li>4</li> </ul> <div id="banner_list"> <a href="#" target="_blank"><img src="imgs/p1.jpg" /></a> <a href="#" target="_blank"><img src="imgs/p5.jpg" /></a> <a href="#" target="_blank"><img src="imgs/p3.jpg" /></a> <a href="#" target="_blank"><img src="imgs/p4.jpg" /></a> </div></div>第二步写好对应的css
#banner {position:relative; width:478px; height:286px; overflow:hidden;}
#banner ul {position:absolute;list-style-type:none; border:1px solid #fff;z-index:1002; margin:0; padding:0; bottom:3px; right:5px;}#banner ul li {float:left;width: 10px;height: 10px;; display:block;color:#FFF;border:#e5eaff 1px solid;background:red;cursor:pointer}#banner ul li.on { background:#900}#banner_list a{position:absolute;}下面即是javascript的内容了
var t = n = 0, count;
$(document).ready(function(){ count=$("#banner_list a").length; $("#banner_list a:not(:first-child)").hide(); $("#banner li").click(function() { var i = $(this).text() - 1;//获取Li元素内的值,即1,2,3,4 n = i; if (i >= count) return; $("#banner_list a").filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000); document.getElementById("banner").style.background=""; $(this).toggleClass("on"); $(this).siblings().removeAttr("class"); }); t = setInterval("showAuto()", 4000); $("#banner").hover(function(){clearInterval(t)}, function(){t = setInterval("showAuto()", 4000);}); })function showAuto()
{ n = n >=(count - 1) ? 0 : ++n; $("#banner li").eq(n).trigger('click'); }