图片轮播

不管前端技术如何日新月异,有的需求总是不变的,比如图片轮播

那么如何实现呢?

biubiu~思路来了!

首先,我们理一下需求:

界面上每次展示一张图片,间隔一段时间候展示下一张图片;

咦,这里我们是不是有点想法,很明显需要用到setTimeout

还有一个需求就是,鼠标移动到图片的index时,切换到这张图片;

那么如何切换呢?

很简单,隐藏当前图片,停止它参与的动画,并使选择index对应的图片进入。

思路清晰了,我们来构建HTML吧!

<div class="main">
    	<div class="preview-list">
			<ul>
				<li>
	            <a href=""><img src="http://images.17173.com/2012/news/2012/08/26/lj0826dm30s.jpg" alt=""></a>
				</li>
				<li>
				<a href=""><img src="http://i0.hdslb.com/bfs/archive/65089d306ddf3d92a1f31ff7b1ab6575835d7798.jpg" alt=""></a>
				</li>
				<li>
				<a href=""><img src="http://i0.hdslb.com/bfs/archive/ed58ff87e8139346e1da668884a738fb7b8d99df.jpg" alt=""></a>
				</li>
				<li><a href=""><img src="http://i0.hdslb.com/bfs/archive/aea1866919699dedb0d6ab8de02606c2690361eb.jpg" alt=""></a>
				</li>
				<li><a href=""><img src="http://i0.hdslb.com/bfs/archive/2f2c6adf9b645c5d08a535c5333669533532c8bd.jpg" alt=""></a>
				</li>
			</ul>
		</div>
		<div class="clear"></div>
		<div class="list-dot">
		    <span class="onselect">1</span>
	        <span>2</span>
	        <span>3</span>
	        <span>4</span>
	        <span>5</span>
		</div>
    </div>
CSS渲染:

.main{
	position: relative;
}
.preview-list ul {
	list-style: none;
	padding: 0px;
	margin: 0px;
}
.preview-list {
	position: relative;
	height: 220px;
	width: 440px;
	overflow: hidden;
	margin-top: 30px;
}
.preview-list img {
	height: 220px;
	width: 440px;
}
.preview-list ul li {
	position: absolute;
	float: left;
	list-style: none;
}
.preview-list ul li.select {
	display: block;
}
.clear {
	overflow: hidden;
	clear: both;
	width: 0px;
	height: 0px;
}
.list-dot {
	text-align: center;
	position: absolute;
	left: 250px;
	bottom: 10px;
}
.list-dot span {
	border-radius: 10px;
	font: normal normal bold 12px/15px "Microsoft YaHei";
	color: #FFF;
	margin-left: 5px;
	padding: 3px 6px 3px 6px;
	background-color: #F90;
	cursor: pointer;
}
.list-dot span.onselect {
	background-color: #F00;
}

接下来,大显身手吧!

$(document).ready(function(){
		var time = "";
        var index = 1;
		showimg(index);
         //鼠标移入移出
         $(".list-dot span").hover(function () {
            clearTimeout(time);
            var icon=$(this).text();
            $(".list-dot span").removeClass("onselect").eq(icon-1).addClass("onselect");
            $(".preview-list li").hide().stop(true,true).eq(icon-1).fadeIn("slow");
         }, function () {
            index=$(this).text()> 4 ? 1 :parseInt($(this).text())+1;
            time = setTimeout("showimg(" + index + ")", 3000);
         });
     });

     function showimg(num) {
         index = num;
         $(".list-dot span").removeClass("onselect").eq(index-1).addClass("onselect");
         $(".preview-list li").hide().stop(true,true).eq(index-1).fadeIn("slow");
         index = index + 1 > 5 ? 1 : index + 1;
         time = setTimeout("showimg(" + index + ")", 3000);
     }

具体参考: http://codepen.io/ClayLing/pen/Wpjwoy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值