JavaScript實現左右點擊切換圖片
本文實例為大傢分享瞭JavaScript實現左右點擊切換圖片的具體代碼,供大傢參考,具體內容如下
效果:
HTML
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>xxx——空間相冊</title> <link rel="stylesheet" type="text/css" href="./css/Photo_album.css"/> </head> <body> <!-- 相冊 --> <div id="imgmax"> <ul> <li><img src="./img/brtx.jpeg" ></li> <li><img src="./img/1.jpeg" ></li> <li><img src="./img/2.jpeg" ></li> <li><img src="./img/3.jpeg" ></li> <li><img src="./img/brtx.jpeg" ></li> <li><img src="./img/brtx.jpeg" ></li> </ul> </div> </body> <script src="js/Photo_album.js" type="text/javascript" charset="utf-8"></script> </html>
CSS:
/* 相冊 */ #imgmax{ width: 600px; height: 600px; position: relative; margin: 20px auto; } img{ width: 100%; height: 100%; } ui,li{ margin: 0; padding: 0; list-style: none; float: left; width: 150px; height: 150px; margin-left: 10px; } .newdiv{ width: 600px; height: 600px; background: #fff; opacity: 0.5; } .newimg{ width: 300px; height: 300px; position: absolute; left: 150px; top: 50px; } .newspan{ position: absolute; width: 20px; height: 20px; left: 450px; top: 50px; background: #fff; text-align: center; } .newspanzuo{ position: absolute; width: 20px; height: 20px; left: 100px; top: 150px; background: #fff; text-align: center; } .newspanyou{ position: absolute; width: 20px; height: 20px; left: 480px; top: 150px; background: #fff; text-align: center; }
JavaScript:
/* 說明:根據<1i>標簽、得到當前網頁所有的<1i>元素返回值:返回的是數組,存儲所有的<1i>元素 作用: 1.可用於監聽點擊事件 2.可根據當前<1i>元素得到內部存儲的圖片路徑 3.可根據圖片的路勁,做一個大圖展示 */ var lis = document.getElementsByTagName("li"); //獲取li標簽 /* 說明:根據id,得到imgmax元素 返回值:返回的是最大的盒子元素 作用: 可像此盒子內【追用】預覽圖片時所需的所有【元素】 1.追加盒子元素(用於遮蓋當前所有圖片) 2.追加圖片元素(用於展示【預覽圖】) 3.追加span文字(用於展示“X”,退出預覽) */ var box = document.getElementById("imgmax"); //獲取相冊盒子 var index = 0; //循環遍歷li標簽 //迭代所有的【li】,用於監聽【li】的點擊事件 for (let i = 0; i < lis.length; i++) { /* 當監聽成功,綁定【匿名函數】,用於編寫具體的邏輯 1.得到當前點擊<li>元素的圖片路徑 2.創建:div元素,用於遮蓋當前所有圖片 3.創建:img元素,用於展示【預覽圖】 4.創建 span元素(用於展示“X”,退出預覽) */ lis[i].onclick = function() { //彈出當前li標簽中圖片路徑 //alert(this.getElementsByTagName("img")[0].src) //2.創建:div元素,用於遮蓋當前所有圖片 // box.appendChild() var j = i; var newDiv = document.createElement('div'); newDiv.className = "newdiv"; box.appendChild(newDiv) //3.創建:img元素,用於展示【預覽圖】 var newImg = document.createElement("img"); newImg.className = "newimg" newImg.src=this.getElementsByTagName("img")[0].src box.appendChild(newImg); //創建 span元素(用於展示“X”,退出預覽) var newSpan = document.createElement("span"); newSpan.innerHTML = "X"; newSpan.className = "newspan"; box.appendChild(newSpan); newSpan.onclick = function(){ box.removeChild(newDiv); box.removeChild(newImg); box.removeChild(Spanz); box.removeChild(Spany); box.removeChild(newSpan); } // 左邊 var Spanz = document.createElement("span"); Spanz.innerHTML = "<"; Spanz.className = "newspanzuo"; box.appendChild(Spanz); Spanz.onclick = function(){ if (j-->=0) { newImg.src=document.getElementsByTagName("img")[j].src } else{ alert("已經是第一張瞭!!") } } // 右邊 var Spany = document.createElement("span"); Spany.innerHTML = ">"; Spany.className = "newspanyou"; box.appendChild(Spany); Spany.onclick = function(){ if (j++<lis.length-1) { newImg.src=document.getElementsByTagName("img")[j].src } else{ alert("已經是第最後一張瞭!!") } } } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。