基于jQuery实现图片轮播效果
作者:小括号时间:2026-10-22 07:24:09浏览:504
本文介绍如何使用jQuery实现简单的图片轮播效果。内容涵盖jQuery库的引入、CSS样式的编写以及HTML结构的搭建,重点展示了通过定时器实现自动播放及点击按钮控制暂停与播放的功能逻辑。
jQuery图片轮播效果实现
本文分享了一段用于展示jQuery轮播效果的完整代码示例,供读者参考学习。
以下是具体的jQuery脚本实现部分。
在编写jQuery逻辑前,需先引入jQuery库文件,本例中使用的版本为3.0。
<script src="jquery-3.0.0.js"></script>
<script type="text/javascript">
var timer;
$(function() {
//设置图片向左移
imgshow();
//点击暂停按钮事件
$(".pause").click(function () {
clearInterval(timer);
});
//点击播放按钮事件
$(".play").click(function () {
imgshow();
});
//点击左按钮
$(".prev").click(function () {
imganimation("left");
});
//点击右按钮
$(".next").click(function () {
imganimation("right");
});
function imganimation(res) {
//图片向左走的轮播
if(res=="right"){
//animate()动画第一个li向左移动20%
$(".lilist:first").animate({
"marginLeft": "-20%"
}, 700, "linear", function () {
//这个li回到原来的位置
$(this).css("marginLeft", "0px");
//将它追加到ul的最后的位置
$(this).appendTo($(".ullist"));
});
//设置小框的图片轮播,原理与大框图片轮播一致
$(".s_lilist:first").animate({
"marginLeft": "-20%"
}, 650, "linear", function () {
$(this).css("marginLeft", "0px");
$(this).appendTo($(".s_ullist"));
});
}else {
//图片向右走,与向左的原理相同
$(".lilist:first").animate({
"marginLeft": "20%"
}, 700, "linear", function () {
$(this).css("marginLeft", "0px");
$(".lilist:last").prependTo($(".ullist"));
});
$(".s_lilist:first").animate({
"marginLeft": "20%"
}, 650, "linear", function () {
$(this).css("marginLeft", "0px");
$(".s_lilist:last").prependTo($(".s_ullist"));
});
};
};
//默认图片自动向左走
function imgshow() {
timer = setInterval(function (){
imganimation("right");
} , 2000);
};
});
</script>
接下来定义轮播组件所需的CSS样式。
* {
margin: 0;
padding: 0;
}
.divbg {
width: 100%;
height: 350px;
/*overflow: hidden;*/
position: relative;
}
.mb {
width: 30%;
height: 350px;
background: rgba(0, 0, 0, 0.3);
position: absolute;
}
.mb:first-child {
left: 0px;
}
.mb:nth-child(2) {
right: 0px;
}
.ullist {
width: 200%;
height: 350px;
margin-left: -50%;
}
.lilist {
width: 20%;
height: 350px;
list-style: none;
float: left;
}
.imglist {
width: 100%;
height: 100%;
}
.divblock{
width: 20%;
height: 70%;
border: 4px solid rgba(255, 255, 255, 0.32);
position: absolute;
z-index: 5;
left: 46%;
top: 15%;
overflow: hidden;
}
.s_mb{
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
position: absolute;
z-index: 10;
}
.s_ullist{
width: 500%;
height: 100%;
margin-left: -200%;
}
.s_lilist{
width: 20%;
height: 100%;
list-style: none;
float: left;
}
.s_imglist{
height: 100%;
width: 100%;
}
.s_mb img{
margin-left: 16%;
margin-top: 65%;
cursor: pointer;
}
最后构建承载轮播内容的HTML结构。
<div class="divbg">
<div class="divblock">
<div class="s_mb">
<img class="prev" src="./img2/btn_prev.png" />
<img class="pause" src="./img2/btn_pause.png" />
<img class="play" src="./img2/btn_play.png" />
<img class="next" src="./img2/btn_next.png" />
</div>
<ul class="s_ullist">
<li class="s_lilist">
<img class="s_imglist" src="img2/2121.jpg" />
</li>
<li class="s_lilist">
<img class="s_imglist" src="img2/2122.jpg" />
</li>
<li class="s_lilist">
<img class="s_imglist" src="img2/2123.jpg" />
</li>
<li class="s_lilist">
<img class="s_imglist" src="img2/2124.jpg" />
</li>
<li class="s_lilist">
<img class="s_imglist" src="img2/2123.jpg" />
</li>
</ul>
</div>
<div class="mb"></div>
<div class="mb"></div>
<ul class="ullist">
<li class="lilist">
<img class="imglist" src="img2/2121.jpg" />
</li>
<li class="lilist">
<img class="imglist" src="img2/2122.jpg" />
</li>
<li class="lilist">
<img class="imglist" src="img2/2123.jpg" />
</li>
<li class="lilist">
<img class="imglist" src="img2/2124.jpg" />
</li>
<li class="lilist">
<img class="imglist" src="img2/2123.jpg" />
</li>
</ul>
</div>
以上即为该jQuery轮播效果的全部实现内容,希望对读者的学习有所帮助,欢迎继续支持本站。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
