jquery实现轮播图

  • 今天来讲一讲jquery如何实现轮播图

  • 首先,什么是轮播图,给个图片一看即知

    这个就是轮播图,实现图片的自动播放,并且点击小圆点是也可以切换图片。

  • 首先来讲一讲它的原理:HTML静态页面就不用我说了吧,这里直接给出代

  1. index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>轮播图</title>
    	<link rel="stylesheet" href="css/index.css">
    </head>
    <body>
    	<div class="pic">
    		<div class="img">
    			<img src="img/1501227948b99.jpg" alt="">
    			<img src="img/15174043270db.jpg" alt="">
    			<img src="img/1492956580491.jpg" alt="">
    			<img src="img/1474876382c65.jpg" alt="">
    			<img src="img/1491464115ad5.jpg" alt="">
    			<img src="img/15092895460f8.jpg" alt="">
    			<img src="img/150391694737f.jpg" alt="">
    			<img src="img/149900033939a.jpg" alt="">
    		</div>
    		<div class="swiper">
    			<b class='rudis'></b>
    			<b></b>
    			<b></b>
    			<b></b>
    			<b></b>
    			<b></b>
    			<b></b>
    			<b></b>
    		</div>
    	</div>
    	<script src='../jquery-1.12.4.js'></script>
    	<script src='js/index.js'></script>
    </body>
    </html>

     设置图片展示的div,还有小圆点div,设置默认第一个小圆点显示,小圆点的背景变色原理是给小圆点添加一个类名,当轮到这张图片时添加类名,其他的小圆点不添加类名。图片显示原理是:设置图片默认为隐藏或none,当轮到这个图片显示是则开放这个图片的显示,其他的图片为隐藏。

  2. index.css

    *{
    	margin: 0;
    	padding: 0;
    }
    .pic{
    	position:relative;
    	width: 1365px;
    	height: 450px;
    	background: url('../img/t014346b20d9fabb2ec.jpg');
    }
    .img img{
    	position:absolute;
    	height: 450px;
    	width: 708px;
    	float: left;
    }
    .img{
    	position: absolute;
    	top: 0;
    	height: 450px;
    	width: 708px;
    	margin-left: 315px;
    }
    .rudis{
    	background-color: #fff;
    }
    
    .swiper{
    	position: absolute;
    	top: 400px;
    	left: 545px;
    }
    .swiper b{
    	display: inline-block;
    	width: 10px;
    	height: 10px;
    	border: 2px solid black;
    	border-radius: 50%;
    	margin-left: 10px;
    }

     

  3.  index.js

    $(function(){
    	var i = 0;//定义索引,图片和小圆点共用
    	var timer;//定义定时函数
    	$('.pic .img img').eq(0).show().siblings().hide();//定义默认的显示图片,也就是索引为0的那张图片
    	start();//开始实现图片轮播,用到了定时器
    	$('b').hover(function(){//当鼠标运动到某个小圆点是,切换图片
    		clearInterval(timer);//并且清除定时
    		i=$(this).index();//获取当前鼠标运动到的小圆点的索引
    		change();//执行切换图片的函数
    	});
        $('b').mouseleave(function(){
    		start();//定义当鼠标离开小圆点时继续执行定时函数,轮播开始
    	});
    	function start(){//轮播开始函数
    		timer = setInterval(function(){//自动轮播定时函数
    			i++;//索引进行累加,防止图片只显示一张
    			if(i==8){
    				i=0;//我这里是用的8张图片,当索引为8时,图片没有了,将索引清零
    			}
    			change();//继续执行图片轮播
    		},2000)//2000是多久切换一次图片,表示两秒
    	};
    	function change(){//图片显示函数,这里的fadeOut和fadeIn是图片显示方式是淡入淡出
    		$('.pic .img img').eq(i).fadeIn(300).siblings().stop().fadeOut(300);//eq选择当前图片,siblings表示排除其他图片,stop表示其他图片停止切换,只切换当前图片
    		$('b').eq(i).addClass('rudis').siblings().removeClass('rudis');//这里是设置小圆点的背景颜色改变,用的是添加类名的方法,因为我们在css文件里设置了当类名为‘rudis’时设置背景颜色为白色,其他的圆点设置为移除类名,所以其他的没有添加背景颜色
    	}
    })

     

  • 10
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值