jquery轮播图无缝连接实现

经过一段时间的学习和实践,以及参考了许多中idea之后,实现了这个轮播图无缝链接。(这只是本人自己的方法)步骤如下:

(1)要实现无缝连接,最好是有若干张长宽都一样的图片(数量大概在3到6张,多的就少见了)。设置一个外盒(固定不动,也就是展示一张图片的作用),大小是一张图片大小(长和宽与图片一致)。

(2)在外盒子里面设置一个内盒子,这些图片全部包含内盒子里面,按照一字型排开,也就是设置显示在同一行上,设置图片浮动就可以实现(当然同一列也是一个道理)。,这个盒子的长度为所有图片的宽度的和(也就是图片数目x图片宽度),高度为图片的高;按照这种情况下,内盒宽度比外盒大,所以将内盒子溢出隐藏(css属性overflow:hidden)这样我们就只看到一张图片了,也是第一张。

(3)每次点击向后移动按钮的时候,我们需要向后移动一张图片距离,实现方法是内盒(包含图片的盒子)向前移动一张图片的距离,这样我们在外盒看到的就是下一张图片了。因为只有一定数量的图片,移动到最后一张图片的时候,我们就要转到第一张,实现的方法是将第一张图片移动到最后一张图片后面(使用的是jQuery的append()方法,当前如果包含有该元素,就将它移动到最后面),这个时候第一张图片之后的图片前移了一个图片距离,所以我们首先将内盒的位置前移一个图片距离(为了当前显示的还是最后一张),然后在做后移一个图片距离就是第一张,不断操作就行了。

(4)点击向前移动时,和向后一样,区别是将最后一张移动到第一张(使用prepend方法),所以内盒要先向后移动一个图片距离,然后在前移一个图片距离。

(5)自动轮播,本人设置默认每相隔3s向后移动一张图片,使用setinterval(后移函数,3s)定时器来实现

(6)图片序号显示,要监听到当前显示的第几张图片,给相应的图片序号点亮,点击其他图片序号的时候,要移动到点击的序号上,先判断点击的图片的序号是比当前显示的序号大还是小,小的话是向前移动(前移函数),大的话后移(后移函数)。移动次数是图片序号的差值。

具体代码如下:

布局显示:

		<div id="box">
			<ul>
				<li><img src="img/array1.jpg" alt=""></li>
				<li><img src="img/array2.jpg" alt=""></li>
				<li><img src="img/array3.jpg" alt=""></li>
				<li><img src="img/array4.jpg" alt=""></li>
			</ul>
			<ol>
				<li class="now">1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
			</ol>
			<input type="button" id="prev" value="<">
			<input type="button" id="next" value=">">
		</div>
css代码: 注意使用了定位

		<style>
			*{
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值