<body onload="showImg()"> <div class="all" id='box'> <div class="screen"> <ul> <li><img src="images/1.png" alt="图片1" width="500" height="300"/></li> <li><img src="images/2.png" alt="图片2" width="500" height="300"/></li> <li><img src="images/3.png" alt="图片3" width="500" height="300"/></li> <li><img src="images/4.png" alt="图片4" width="500" height="300"/></li> <li><img src="images/5.png" alt="图片5" width="500" height="300"/></li> </ul> </div> <div id="arr"><span id="left"><</span><span id="right">></span></div> </div> </body>在此基础上使用jquery的siblings函数完成图片轮播
时间: 2023-07-19 21:16:06 浏览: 92
javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法 <font color=red>原创</font>
好的,以下是代码实现:
```html
<!DOCTYPE html>
<html>
<head>
<title>使用jQuery实现图片轮播</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<style>
/* 样式省略,与原代码一致 */
</style>
<script>
$(function() {
// 获取图片列表
var $list = $(".screen ul li");
// 获取图片数量
var len = $list.length;
// 获取每张图片的宽度
var width = $list.width();
// 设置ul的宽度
$(".screen ul").width(len * width);
// 定时器,控制图片轮播
var timer = null;
var index = 0; // 当前显示的图片下标
// 向左切换图片
$("#left").click(function() {
index--;
if (index < 0) {
index = len - 1;
}
slide();
});
// 向右切换图片
$("#right").click(function() {
index++;
if (index >= len) {
index = 0;
}
slide();
});
// 图片轮播函数
function slide() {
var left = -index * width;
$(".screen ul").stop().animate({left: left}, 500);
$list.eq(index).addClass("active").siblings().removeClass("active");
}
// 开始自动轮播
function start() {
timer = setInterval(function() {
index++;
if (index >= len) {
index = 0;
}
slide();
}, 2000);
}
// 停止自动轮播
function stop() {
clearInterval(timer);
}
// 鼠标移入停止自动轮播,移出开始自动轮播
$(".all").hover(function() {
stop();
}, function() {
start();
});
// 开始自动轮播
start();
});
</script>
</head>
<body onload="showImg()">
<div class="all" id='box'>
<div class="screen">
<ul>
<li><img src="images/1.png" alt="图片1" width="500" height="300"/></li>
<li><img src="images/2.png" alt="图片2" width="500" height="300"/></li>
<li><img src="images/3.png" alt="图片3" width="500" height="300"/></li>
<li><img src="images/4.png" alt="图片4" width="500" height="300"/></li>
<li><img src="images/5.png" alt="图片5" width="500" height="300"/></li>
</ul>
</div>
<div id="arr"><span id="left"><</span><span id="right">></span></div>
</div>
</body>
</html>
```
在上面的代码中,我们使用了 jQuery 的 `siblings` 函数来切换图片的样式。每次切换图片时,我们都会给当前图片的 `li` 元素添加 `active` 类,并将其兄弟元素的 `active` 类移除,从而实现图片样式的切换。另外,我们还使用了 jQuery 的 `animate` 函数来实现图片的滑动效果。最后,我们通过鼠标移入停止自动轮播,移出开始自动轮播的方式来控制图片轮播的开始和停止。
阅读全文