第一个:最基本的轮播,只有一张图片循环播
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>主页</title>
<!-- 引入 layui.css -->
<link rel="stylesheet" href="//unpkg.com/layui@2.6.8/dist/css/layui.css">
<!-- 引入 layui.js -->
<script src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>
<script src="__STATIC__/jquery-3.3.1.min.js"></script>
</head>
<style type="text/css">
/* 设定第一个盒子的宽高,让图片显示在这个盒子里面。
设定溢出时隐藏图片,因为有多个图片,每个图片都有一定的宽度,加起来就会溢出盒子。*/
.hezi{
overflow: hidden;
width: 400px;
height: 198px;
border:1px solid blue;
}
/* 设定第二个盒子的宽度为大于多张图片相加的宽度,因为li是左浮动,所有图片都在同一行*/
ul{
width: 2400px;
}
/* 设定li左浮动,让所有图片在同一行。*/
li{
width: 400px;
float: left;
height: 198px;
text-align: center;
}
img{
height: 100%;
}
</style>
<body>
<div class="layui-container">
<div class="hezi">
<ul>
<li><img src="https://pica.zhimg.com/80/v2-d16a7e3fc2fa98a2733f7488450c6cab_720w.webp?source=2c26e567"></li>
<li><img src="https://pica.zhimg.com/80/v2-3ec0b0c68ba898aa95e8f6afb4b37d62_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-8083c196f67a3fa5584af0c8e25103c3_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-cdf89aa63707556af034fcbf876285c2_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-0b91777d045d3beb37f00e7eda2003c8_720w.webp?source=2c26e567"></li>
</ul>
</div>
</div>
<script type="text/javascript">
//获取图片个数
geshu=$("li").length;
//执行次数,执行一次加1,执行下一张图片的显示及其他图片的隐藏。
var doNum=0;
// 每2秒执行一次函数
myint=setInterval(function(){
$("li").eq(doNum).show().siblings().hide();
doNum+=1;
// 执行次数等于li个数时,使其归零,再从第一张图片开始显示。否则下次显示的是第6、7、8张图片,但我们一共就五张图片。
if(doNum==geshu){
doNum=0;
}
},2000);
</script>
</body>
</html>
第二个:鼠标悬停时的[取消/清除]定时执行函数
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>主页</title>
<!-- 引入 layui.css -->
<link rel="stylesheet" href="//unpkg.com/layui@2.6.8/dist/css/layui.css">
<!-- 引入 layui.js -->
<script src="//unpkg.com/layui@2.6.8/dist/layui.js"></script>
<script src="__STATIC__/jquery-3.3.1.min.js"></script>
</head>
<style type="text/css">
/*设定第一个盒子的宽高,让图片显示在这个盒子里面。
设定溢出时隐藏图片,因为有多个图片,每个图片都有一定的宽度,加起来就会溢出盒子。*/
.hezi{
overflow: hidden;
width: 400px;
height: 198px;
border:1px solid blue;
}
/*设定第二个盒子的宽度为大于多张图片相加的宽度,因为li是左浮动,所有图片都在同一行*/
ul{
width: 2400px;
}
/*设定li左浮动,让所有图片在同一行。*/
li{
width: 400px;
float: left;
height: 198px;
text-align: center;
}
img{
height: 100%;
}
</style>
<body>
<div class="layui-container">
<div class="hezi">
<ul>
<li><img src="https://pica.zhimg.com/80/v2-d16a7e3fc2fa98a2733f7488450c6cab_720w.webp?source=2c26e567"></li>
<li><img src="https://pica.zhimg.com/80/v2-3ec0b0c68ba898aa95e8f6afb4b37d62_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-8083c196f67a3fa5584af0c8e25103c3_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-cdf89aa63707556af034fcbf876285c2_720w.webp?source=2c26e567"></li>
<li><img src="https://picx.zhimg.com/80/v2-0b91777d045d3beb37f00e7eda2003c8_720w.webp?source=2c26e567"></li>
</ul>
</div>
</div>
<script type="text/javascript">
//获取图片个数
geshu=$("li").length;
//执行次数,执行一次加1,执行下一张图片的显示及其他图片的隐藏。
var doNum=0;
// 每2秒执行一次函数
var myint=setInterval(picloop,2000);
function picloop(){
$("li").eq(doNum).show().siblings().hide();
doNum+=1;
// 执行次数等于li个数时,使其归零,再从第一张图片开始显示。否则下次显示的是第6、7、8张图片,但我们一共就五张图片。
if(doNum==geshu){
doNum=0;
}
}
// 当鼠标悬停图片上时,取消setInterval()函数设定的定时执行操作
$("li").mouseenter(function(){
$(this).css('cursor','pointer');
clearInterval(myint);
});
// 当鼠标离开图片上时,定时执行setInterval()函数设定的操作
$("li").mouseleave(function(){
myint=setInterval(picloop,2000);
});
</script>
</body>
</html>
第三个:
第四个:
第五个:
第六个: