最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js 基礎(chǔ)篇必看(點擊事件輪播圖的簡單實現(xiàn))

 更新時間:2016年08月20日 09:02:01   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s 基礎(chǔ)篇必看(點擊事件輪播圖的簡單實現(xiàn))。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

輪播圖在以后的應(yīng)用中還是比較常見的,不需要多少行代碼就能實現(xiàn)。但是在只掌握了js基礎(chǔ)知識的情況下,怎么來用較少的而且邏輯又簡單的方法來實現(xiàn)呢?下面來分析下幾種不同的做法:

1、利用位移的方法來實現(xiàn)

首先,我們可以在body中添加一個div并且將寬度設(shè)置成百分比(自適應(yīng)頁面),比例具體是相對誰的百分比的話按需求來做,在這里不多說。將圖片放入到div 中。

其次,樣式部分將img標(biāo)簽全部設(shè)置成absolute;以方便定位

最后,js部分說說邏輯,定義兩個空數(shù)組,第一個數(shù)組用來保存初始的顯示在頁面的圖片和等待進入的圖片,第二個數(shù)組保存其余的n張圖片,假設(shè)這兩個數(shù)組分別設(shè)置為:waitToShow=[]; 和 goOut=[];   waitToShow.shift();彈出第一張圖片假如命名為showFirst,并為showFirst圖片設(shè)置位移和移動時間,執(zhí)行完成之后showFirst放入goOut尾部:goOut.push(showFirst);  這時waitToShow數(shù)組的第0個元素就變成原來的第二張要顯示的圖片,給這個圖片waitToShow[0]設(shè)置位移和移動時間,并且將goOut數(shù)組的首元素圖片彈出來,在放進waitToShow數(shù)組的尾部,保證waitToShow數(shù)組永遠(yuǎn)是一張顯示的圖片和待顯示的圖片,這樣就通過兩個數(shù)組形成了一個循環(huán)來完成輪播圖的實現(xiàn)。反向的邏輯是一樣的(由于邏輯過于復(fù)雜這里不推薦)

2、利用層級的高低來使最頂部圖片變化的做法(這個做法沒有位移的動作,但是邏輯卻非常簡便,很實用)

直接來代碼更直觀點:基本每行都有注釋

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>輪播圖 (閃現(xiàn) 自適應(yīng))</title>
<style media="screen">
* {
margin: 0;
padding: 0;
}
.wrap {
width: 60%;
background: red;
margin: auto;
position: relative;
}
.wrap img {
width: 100%;
position: absolute;
/*z-index: 10;*/
}
input {
border: 1px solid lightgray;
width: 50px;
height: 30px;
background: red;
border-radius: 5px;
font-size: 20px;
}
</style>
</head>
<body>
<div class="wrap">
<img src="img/01.jpg" alt="" />
<img src="img/02.jpg" alt="" />
<img src="img/03.jpg" alt="" />
<img src="img/04.jpg" alt="" />
</div>
<input type="button" id="butLeft" name="name" value="◀︎">
<input type="button" id="butRight" name="name" value="▶︎">
</body>
<script type="text/javascript">
// 獲取images元素生成字符串?dāng)?shù)組,字符串?dāng)?shù)組不能進行push pop splice 等操作
// 所以要將它的值重新存放進一個數(shù)組中,后面有定義
var images = document.getElementsByTagName('img');
var butLeft = document.getElementById('butLeft');
var butRight = document.getElementById('butRight');
//獲取變量index 用來為后面設(shè)置層級用
var index = 1000;
// 獲取一個空的數(shù)組,用來存放images里面的字符串元素
var imagess = [];

// for循環(huán)用來給imagess數(shù)組賦值,并且改變數(shù)組中的元素的層級
for (var i = 0; i < images.length; i++) {
imagess[i] = images[i];
var currentImage = imagess[i];
// 當(dāng)前圖片的層級的設(shè)置,一輪for循環(huán)都為他們設(shè)置了初始的zIndex,圖片越靠前,層級設(shè)置
// 要求越高,所以用的是-i,這樣圖片會按順序從第一張,第二張.....依次向下
currentImage.style.zIndex = -i;
}

// 設(shè)置計數(shù)器count,執(zhí)行一次點擊事件(向左或者向右)count加1
var count = 0;
// 向左的點擊事件
butLeft.onclick = function() {
// 從數(shù)組頭部彈出一個圖片元素
var showFirst = imagess.shift();
// 給彈出的這個圖片元素設(shè)置層級,即 -1000+count,
// 讓層級相較其他元素是最小的,數(shù)組頭部彈出的圖片會顯示在最底層
showFirst.style.zIndex = - index + count;
// 層級改變完成后再將他push進數(shù)組的尾部
imagess.push(showFirst);
// 點擊一次加1,不用考慮具體的值,只需要有點擊事件加 1
count++;
}
// 向右點擊事件
butRight.onclick = function() {
// 從imagess的尾部彈出一個元素,并賦值給showFirst
var showFirst = imagess.pop();
// 設(shè)置showFirst的層級為最大,1000+count ,這樣他會顯示在第一層
showFirst.style.zIndex = index + count;
// 層級改變之后將他在插入數(shù)組imagess的頭部
imagess.unshift(showFirst);
// 點擊一次加1
count++;
}
</script>
</html>

以上這篇js 基礎(chǔ)篇必看(點擊事件輪播圖的簡單實現(xiàn))就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實現(xiàn)批量刪除功能

    js實現(xiàn)批量刪除功能

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)批量刪除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JS+DIV+CSS實現(xiàn)仿表單下拉列表效果

    JS+DIV+CSS實現(xiàn)仿表單下拉列表效果

    這篇文章主要介紹了JS+DIV+CSS實現(xiàn)仿表單下拉列表效果,涉及javascript鼠標(biāo)事件及頁面元素的動態(tài)操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 使用iframe實現(xiàn)pdf文件預(yù)覽功能

    使用iframe實現(xiàn)pdf文件預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了如何使用iframe實現(xiàn)pdf文件預(yù)覽功能,以及iframe預(yù)覽報錯問題和iframe未能加載PDF文檔,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • JavaScript 命名空間 使用介紹

    JavaScript 命名空間 使用介紹

    使用JavaScript實現(xiàn)命名空間就沒有這么舒服了,Javascript只有函數(shù)作用域,什么塊兒啊、神馬文件啊統(tǒng)統(tǒng)都認(rèn)為是一個命名空間的,有時候因為一些重名問題導(dǎo)致的錯誤讓人莫名其妙,難以調(diào)試解決
    2013-08-08
  • Javascript實現(xiàn)返回上一頁面并刷新的小例子

    Javascript實現(xiàn)返回上一頁面并刷新的小例子

    這篇文章主要介紹了Javascript實現(xiàn)返回上一頁面并刷新的小例子,有需要的朋友可以參考一下
    2013-12-12
  • 一文詳解JavaScript中的按值傳遞和按引用傳遞

    一文詳解JavaScript中的按值傳遞和按引用傳遞

    編程語言中,把一個變量的值賦值給另一個變量,或者給函數(shù)調(diào)用傳遞參數(shù)有兩種方式:按值傳遞和按引用傳遞,本文將給大家詳細(xì)介紹JavaScript中的按值傳遞和按引用傳遞,需要的朋友可以參考下
    2024-05-05
  • javascript刪除字符串最后一個字符

    javascript刪除字符串最后一個字符

    需求是一個字符串,想刪除這個字符串最后一個字符,比如“1,2,3,4,5,”,刪除最后一個“,”用javascript怎么實現(xiàn)?下面給出三種方法
    2014-01-01
  • Extjs gridpanel 中的checkbox(復(fù)選框)根據(jù)某行的條件不能選中的解決方法

    Extjs gridpanel 中的checkbox(復(fù)選框)根據(jù)某行的條件不能選中的解決方法

    這篇文章主要介紹了Extjs gridpanel 中的checkbox(復(fù)選框)根據(jù)某行的條件不能選中的解決方法,需要的朋友可以參考下
    2017-02-02
  • JavaScript純前端實現(xiàn)在線GIF壓縮

    JavaScript純前端實現(xiàn)在線GIF壓縮

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript純前端實現(xiàn)在線GIF壓縮工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • kindeditor編輯器點中圖片滾動條往上頂?shù)腷ug

    kindeditor編輯器點中圖片滾動條往上頂?shù)腷ug

    這篇文章主要介紹了kindeditor編輯器點中圖片滾動條往上頂?shù)腷ug的相關(guān)資料,需要的朋友可以參考下
    2015-07-07

最新評論

陆河县| 正安县| 长海县| 织金县| 定州市| 西乌珠穆沁旗| 广安市| 乌拉特后旗| 昌平区| 江山市| 樟树市| 三门县| 崇礼县| 通海县| 商水县| 新巴尔虎右旗| 固始县| 福清市| 大名县| 天等县| 嘉荫县| 永寿县| 洛宁县| 同仁县| 婺源县| 宣汉县| 家居| 东明县| 贡山| 巢湖市| 曲松县| 德安县| 绥德县| 迁安市| 平定县| 龙泉市| 景德镇市| 蒙自县| 博客| 怀来县| 二连浩特市|