JQ无缝轮播分享,极简版

本文详细介绍了使用JQ创建无缝轮播的方法,重点讨论了轮播的三层结构设计,并提供了无缝轮播的演示,帮助读者理解并实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JQ轮播主体结构

三层结构

  最外层:一个div盒子,给定宽度,也可以后期通过js给宽度,并添加有overflow:hidden属性,因为这是轮播的区域,而轮播的总宽度大于此宽度
  第二层:也是个div盒子,这是轮播内容的直接父级,此盒子的宽度不给(或者给定一个足够大的宽度,如:99999px),没给宽度的情况下,通过js,根据轮播内容动态的给予宽度,此盒子需要定位(position:relative)
  最内层:多个所需轮播的div盒子,此盒子给定宽度,或者不给宽度由内容撑宽,需要给浮动,或者在第二层给属性display:flex,使用flex布局
  
  **注意**:如果要写无缝轮播,需要将第一个轮播盒子,也在最后复制一次

无缝轮播演示

html:
<div class="outer">    <!-- 最外层 -->
	<div class="inner">   <!-- 第二层 -->
		<!-- 最内层 -->
		<div>
			<img src="img/group1.jpg" >
		</div>
		<!-- 最内层 -->
		<div>
			<img src="img/group2.jpg" >
		</div>
		<!-- 最内层 -->
		<div>
			<img src="img/group3.jpg" >
		</div>
		<!-- 最内层 -->
		<div>
			<img src="img/group4.jpg" >
		</div>
		<!-- 复制的第一个轮播盒子 -->
		<div>
			<img src="img/group1.jpg" >
		</div>  
	</div>
</div>
css:
.outer{
	overflow: hidden;
	width: 600px;
}
.outer>.inner{
	left: -1px;
	display: flex;
	position: relative;
}
.outer>.inner img{
	width: 100%;
	height: 100%;
}
js:
let imgLength = $(".outer>.inner img").length
let outerWid = $(".outer").width()
// 将图片宽度设置为最外层宽度  (满屏轮播)
$(".outer>.inner img").width(outerWid)

// 设置第二层宽度为轮播盒子宽度 * 轮播盒子个数
$(".outer>.inner").width($(".outer>.inner img").width()*imgLength)


let imgWid = $(".outer>.inner img").width()
let index = 1
// 定时轮播
setInterval(function(){
	$(".outer>.inner").animate({
		left: -imgWid*index
	},1000)
	index++
	// 实现无缝轮播
	if(index>=imgLength){
		index = 0
		$(".outer>.inner").animate({
			left: -imgWid*index
		},1)
		index++
	}
},2000)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值