用jQuery如何呼吸轮播图,思路及过程是什么
Admin 2022-06-24 群英技术资讯 1454 次浏览
这篇文章主要讲解了“用jQuery如何呼吸轮播图,思路及过程是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。本文实例为大家分享了jQuery呼吸轮播图制作原理的具体过程,供大家参考,具体内容如下
轮播图:carousel
呼吸轮播图变种布局重点:所有的图片摞一起。
jquery选择元素的能力非常好,但是我们习惯将用到的元素,提前保存到变量。通常我们使用id选中元素。一般我们以$box。
左右按钮防流氓的策略:当图片运动时,不进行任何操作。is()
小圆点的防流氓的策略:立即响应新事件。stop(true)
注意:使用代码时将图片更换,以及需要引入jquery库。
举例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
ul, ol {
list-style: none;
}
#carousel {
position: relative;
width: 900px;
height: 540px;
border: 1px solid #000;
margin: 50px auto;
}
/*呼吸轮播图布局关键是所有图片落在一起*/
#carousel .imgs ul li {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
display: none;
}
#carousel .imgs ul li:first-child {
display: block;
}
.btns a {
position: absolute;
width: 30px;
height: 60px;
top: 50%;
margin-top: -30px;
text-decoration: none;
background-color: rgba(0, 0, 0, .5);
line-height: 60px;
text-align: center;
font-size: 20px;
color: #fff;
}
.btns a:first-child {
left: 10px;
}
.btns a:last-child {
right: 10px;
}
#carousel .circles {
position: absolute;
width: 200px;
height: 20px;
left: 50%;
margin-left: -100px;
bottom: 30px;
}
#carousel .circles ol {
width: 210px;
}
#carousel .circles ol li {
float: left;
width: 20px;
height: 20px;
margin-right: 10px;
background-color: blue;
line-height: 20px;
text-align: center;
border-radius: 20px;
}
#carousel .circles ol li.cur {
background-color: orange;
}
</style>
</head>
<body>
<div id="carousel">
<div class="imgs" id="imgs">
<ul>
<li><img src="images/aoyun/0.jpg" alt=""></li>
<li><img src="images/aoyun/1.jpg" alt=""></li>
<li><img src="images/aoyun/2.jpg" alt=""></li>
<li><img src="images/aoyun/3.jpg" alt=""></li>
<li><img src="images/aoyun/4.jpg" alt=""></li>
<li><img src="images/aoyun/5.jpg" alt=""></li>
<li><img src="images/aoyun/6.jpg" alt=""></li>
</ul>
</div>
<div class="btns">
<a href="#" id="leftBtn"><</a>
<a href="#" id="rightBtn">></a>
</div>
<div class="circles" id="circles">
<ol>
<li class="cur">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
</ol>
</div>
</div>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<script type="text/javascript">
// 获取元素
var $leftBtn = $("#leftBtn");
var $rightBtn = $("#rightBtn");
var $imgs = $("#imgs ul li");
var $circles = $("#circles ol li");
var $carousel = $("#carousel");
// 定义length
var length = $imgs.length;
// 定义信号量
var idx = 0;
// 开启定时器
var timer = setInterval(change, 2000);
// 鼠标移入停止定时器
$carousel.mouseenter(function() {
// 清除定时器
clearInterval(timer);
})
// 鼠标离开从新开启定时器
$carousel.mouseleave(function() {
// 设表先关
clearInterval(timer);
// 重新赋值timer
timer = setInterval(change, 2000);
})
// 右按钮事件
$rightBtn.click(change);
function change() {
// 防流氓
if ($imgs.is(":animated")) {
return;
}
// 当前图片消失
$imgs.eq(idx).fadeOut(600);
// 信号量改变
idx++;
// 边界判定
if (idx > length - 1) {
idx = 0;
}
// 下一张图片淡入
$imgs.eq(idx).fadeIn(600);
// 当前小圆点要加cur
$circles.eq(idx).addClass("cur").siblings().removeClass("cur");
}
// 左按钮事件
$leftBtn.click(function() {
// 防流氓
if (!$imgs.is(":animated")) {
// 当前图片消失
$imgs.eq(idx).fadeOut(600);
// 信号量改变
idx--;
// 边界判定
if (idx < 0) {
idx = length - 1;
}
// 下一张图片淡入
$imgs.eq(idx).fadeIn(600);
// 当前小圆点加cur
$circles.eq(idx).addClass("cur").siblings().removeClass("cur");
}
})
// 小圆点事件
$circles.mouseenter(function() {
// 当前图片消失
$imgs.eq(idx).stop(true).fadeOut(600);
// 改变信号量
idx = $(this).index();
// 下一张图片出现
$imgs.eq(idx).stop(true).fadeIn(600);
// 当前小圆点加cur
$(this).addClass("cur").siblings().removeClass("cur");
})
</script>
</body>
</html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Node.js中怎么使用Redis?下面本篇文章给大家介绍一下Node.js中使用Redis的方法,你会发现原来这么简单,希望对大家有所帮助!
目录类型系统强类型和弱类型(类型安全)静态类型与动态类型(类型检查)JavaScript自由类型系统的问题Flow静态类型检查方案Typescript语言规范与基本应用Typescript作用域Typescript原始类型Typescript Object类型Typescript数组类型Typescript元组类型(t
这篇文章主要介绍了如何在JavaScript中使用localStorage,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要为大家详细介绍了使用js编写实现拼图游戏,一种是拖拽拼图,一种是经典的九宫格拼图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
jquery实现轮播效果的方法:1、通过jquery的hover()绑定鼠标上悬以及离开时的事件处理;2、 通过jquery的bind()方法绑定鼠标点击事件处理前后翻动即可。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008