jQuery呼吸輪播圖制作原理詳解
本文實(shí)例為大家分享了jQuery呼吸輪播圖制作原理的具體過(guò)程,供大家參考,具體內(nèi)容如下
輪播圖:carousel
呼吸輪播圖變種布局重點(diǎn):所有的圖片摞一起。
jquery選擇元素的能力非常好,但是我們習(xí)慣將用到的元素,提前保存到變量。通常我們使用id選中元素。一般我們以$box。
左右按鈕防流氓的策略:當(dāng)圖片運(yùn)動(dòng)時(shí),不進(jìn)行任何操作。is()
小圓點(diǎn)的防流氓的策略:立即響應(yīng)新事件。stop(true)
注意:使用代碼時(shí)將圖片更換,以及需要引入jquery庫(kù)。
舉例:
<!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;
}
/*呼吸輪播圖布局關(guān)鍵是所有圖片落在一起*/
#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;
// 定義信號(hào)量
var idx = 0;
// 開(kāi)啟定時(shí)器
var timer = setInterval(change, 2000);
// 鼠標(biāo)移入停止定時(shí)器
$carousel.mouseenter(function() {
// 清除定時(shí)器
clearInterval(timer);
})
// 鼠標(biāo)離開(kāi)從新開(kāi)啟定時(shí)器
$carousel.mouseleave(function() {
// 設(shè)表先關(guān)
clearInterval(timer);
// 重新賦值timer
timer = setInterval(change, 2000);
})
// 右按鈕事件
$rightBtn.click(change);
function change() {
// 防流氓
if ($imgs.is(":animated")) {
return;
}
// 當(dāng)前圖片消失
$imgs.eq(idx).fadeOut(600);
// 信號(hào)量改變
idx++;
// 邊界判定
if (idx > length - 1) {
idx = 0;
}
// 下一張圖片淡入
$imgs.eq(idx).fadeIn(600);
// 當(dāng)前小圓點(diǎn)要加cur
$circles.eq(idx).addClass("cur").siblings().removeClass("cur");
}
// 左按鈕事件
$leftBtn.click(function() {
// 防流氓
if (!$imgs.is(":animated")) {
// 當(dāng)前圖片消失
$imgs.eq(idx).fadeOut(600);
// 信號(hào)量改變
idx--;
// 邊界判定
if (idx < 0) {
idx = length - 1;
}
// 下一張圖片淡入
$imgs.eq(idx).fadeIn(600);
// 當(dāng)前小圓點(diǎn)加cur
$circles.eq(idx).addClass("cur").siblings().removeClass("cur");
}
})
// 小圓點(diǎn)事件
$circles.mouseenter(function() {
// 當(dāng)前圖片消失
$imgs.eq(idx).stop(true).fadeOut(600);
// 改變信號(hào)量
idx = $(this).index();
// 下一張圖片出現(xiàn)
$imgs.eq(idx).stop(true).fadeIn(600);
// 當(dāng)前小圓點(diǎn)加cur
$(this).addClass("cur").siblings().removeClass("cur");
})
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jquery實(shí)現(xiàn)無(wú)縫輪播圖
- jQuery實(shí)現(xiàn)呼吸輪播圖
- jQuery實(shí)現(xiàn)簡(jiǎn)單的輪播圖效果
- 用jquery實(shí)現(xiàn)輪播圖效果
- jquery插件實(shí)現(xiàn)輪播圖效果
- JS+JQuery實(shí)現(xiàn)無(wú)縫連接輪播圖
- Swiper如何實(shí)現(xiàn)兩行四列輪播圖效果實(shí)例
- bootstrap實(shí)現(xiàn)輪播圖效果
- Bootstrap實(shí)現(xiàn)基于carousel.js框架的輪播圖效果
- jQuery實(shí)現(xiàn)的超簡(jiǎn)單輪播圖功能示例【代碼解釋】
相關(guān)文章
基于jquery的網(wǎng)站幻燈片切換效果焦點(diǎn)圖代碼
一款大氣的jQ網(wǎng)站幻燈片切換效果焦點(diǎn)圖代碼,有需要了解習(xí)的朋友可進(jìn)入?yún)⒖迹@款jQuery網(wǎng)站幻燈片切換效果焦點(diǎn)圖非常大氣,要是網(wǎng)站首頁(yè)應(yīng)用此款效果,必定是蓬蓽生輝啊2013-09-09
jQuery實(shí)現(xiàn)DIV層淡入淡出拖動(dòng)特效的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)DIV層淡入淡出拖動(dòng)特效的方法,涉及jQuery針對(duì)鼠標(biāo)操作的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
jQuery中的一些常見(jiàn)方法小結(jié)(推薦)
下面小編就為大家?guī)?lái)一篇jQuery中的一些常見(jiàn)方法小結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
詳談jQuery中使用attr(), prop(), val()獲取value的異同
下面小編就為大家?guī)?lái)一篇詳談jQuery中使用attr(), prop(), val()獲取value的異同。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
jQuery 寫的簡(jiǎn)單打字游戲可以提示正確和錯(cuò)誤的次數(shù)
這篇文章主要介紹了使用jQuery寫的簡(jiǎn)單打字游戲可以提示正確和錯(cuò)誤的次數(shù),需要的朋友可以參考下2014-07-07
jQuery控制圖片的hover效果(smartRollover.js)
圖片的hover效果可以用css來(lái)實(shí)現(xiàn)也可以用js來(lái)實(shí)現(xiàn)。典型的就是smartRollover.js2012-03-03
jQuery1.9.1源碼分析系列(十六)ajax之a(chǎn)jax框架
這篇文章主要介紹了jQuery1.9.1源碼分析系列(十六)ajax之a(chǎn)jax框架 的相關(guān)資料,需要的朋友可以參考下2015-12-12
jQuery插件實(shí)現(xiàn)大圖全屏圖片相冊(cè)
這篇文章主要介紹了jQuery插件實(shí)現(xiàn)大圖全屏圖片相冊(cè)的方法和示例,基于jQuery插件jQuery.album.js來(lái)實(shí)現(xiàn)的,效果非常不錯(cuò),這里推薦給大家,希望大家能夠喜歡。2015-03-03

