利用js來實(shí)現(xiàn)簡單圖片切換怎么做?直奔主題吧。
我們要說下代碼的主要思路:
1、先給“下一張”和“上一張”兩個(gè)按鈕綁定單擊響應(yīng)事件;
2、獲取img標(biāo)簽對象,用于修改src屬性的值,實(shí)現(xiàn)圖片的切換;
3、切換圖片實(shí)質(zhì)上就是修改img標(biāo)簽里面src屬性的值;
4、創(chuàng)建一個(gè)數(shù)組用來保存圖片,這樣的話,在圖片切換的過程中操作起來會更加方便,只要操作數(shù)組的索引即可,如要切換到下一張,將imgArr[0]---->imgArr[1],即可;
5、創(chuàng)建一個(gè)變量用來保存當(dāng)前正在顯示的圖片的索引,這樣操作圖片更加簡單;
6、需要注意的是,如果當(dāng)前顯示的圖片為最后一張時(shí),下一張使它自動(dòng)跳回第一張;同理如果當(dāng)前顯示的圖片為第一張時(shí),上一張使它自動(dòng)跳回最后一張;
7、設(shè)置頂部的文字先要獲取對應(yīng)的p標(biāo)簽對象;
8、通過修改p標(biāo)簽里面的文字就可以實(shí)現(xiàn)頂部文字的實(shí)時(shí)變換;
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>圖片切換練習(xí)</title> <style type="text/css"> * { margin: 0; padding: 0; } #outer { width: 500px; margin: 50px auto; padding: 30px; background-color: aquamarine; } </style> <script type="text/javascript"> window.onload = function () { /** * 點(diǎn)擊按鈕實(shí)現(xiàn)圖片的切換 */ //3、獲取img標(biāo)簽 var img = document.getElementsByTagName("img")[0]; //5、創(chuàng)建一個(gè)數(shù)組用于保存圖片的路徑 var imgArr = ["img/1.jpg", "img/2.jpg", "img/3.jpg", "img/4.jpg", "img/5.jpg"]; //6、創(chuàng)建一個(gè)變量保存當(dāng)前正在顯示的圖片的索引 var index = 0;//默認(rèn)顯示的是第一張 //8、獲取id為info的元素 var info = document.getElementById("info"); //9、設(shè)置提示文字 info.innerHTML = "一共" + imgArr.length + "張圖片, 這是第" + (index + 1) + "張"; //1、給上一張按鈕綁定單擊事件 var prev = document.getElementById("prev"); prev.onclick = function () { //7、當(dāng)索引為第一張時(shí),那么就要將索引設(shè)置為最后一張,由于采用的是--index,所以將index設(shè)置為5 if (index == 0) { index = 5; } index = index - 1; //4、切換圖片,實(shí)質(zhì)上就是修改img里面的src屬性 img.src = imgArr[index]; //9、設(shè)置提示文字 info.innerHTML = "一共" + imgArr.length + "張圖片, 這是第" + (index + 1) + "張"; } //2、給下一張按鈕綁定單擊事件 var next = document.getElementById("next"); next.onclick = function () { //7、當(dāng)索引為最后一張時(shí),那么就要將索引設(shè)置為第一張,由于采用的是++index,所以將index設(shè)置為-1 if (index == 4) { index = -1; } index = index + 1; //4、切換圖片,實(shí)質(zhì)上就是修改img里面的src屬性 img.src = imgArr[index]; //9、設(shè)置提示文字 info.innerHTML = "一共" + imgArr.length + "張圖片, 這是第" + (index + 1) + "張"; } } </script> </head> <body> <div id=outer> <p id=info></p> <img src="img/1.jpg" alt="冰棍"/><br/> <button id="prev">上一張</button> <button id="next">下一張</button> </div> </body> </html>
完成后的效果:實(shí)際就是在每次點(diǎn)擊下一張或者上一張會實(shí)現(xiàn)圖片的切換,同時(shí)頂部的提示文字也會隨之發(fā)生改變。
內(nèi)容已講完,更多實(shí)操各位自己動(dòng)手操作吧。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/128214.html
摘要:因?yàn)閮纱蔚拈_發(fā)維護(hù)體驗(yàn)產(chǎn)生了對比,使我產(chǎn)生了不小的興趣假設(shè)一個(gè)簡單的頁面需要多語言。兩個(gè)簡單的區(qū)別就是和替換的區(qū)別。樣式模式其實(shí)就是簡單的切換。當(dāng)修改的某個(gè)值時(shí),會觸發(fā)對應(yīng)的,并發(fā)射信號通知節(jié)點(diǎn)去更新。 i18n是什么?i18n(其來源是英文單詞internationalization的首末字符i和n,18為中間的字符數(shù))是國際化的簡稱。 前言 第一次接觸多語言是用野生javascri...
摘要:因?yàn)閮纱蔚拈_發(fā)維護(hù)體驗(yàn)產(chǎn)生了對比,使我產(chǎn)生了不小的興趣假設(shè)一個(gè)簡單的頁面需要多語言。兩個(gè)簡單的區(qū)別就是和替換的區(qū)別。樣式模式其實(shí)就是簡單的切換。當(dāng)修改的某個(gè)值時(shí),會觸發(fā)對應(yīng)的,并發(fā)射信號通知節(jié)點(diǎn)去更新。 i18n是什么?i18n(其來源是英文單詞internationalization的首末字符i和n,18為中間的字符數(shù))是國際化的簡稱。 前言 第一次接觸多語言是用野生javascri...
摘要:既然我們知道了方法,我們就來給它加一個(gè)簡單的動(dòng)畫。動(dòng)畫中還給我們提供了一些鉤子函數(shù),我們可以使用鉤子函數(shù)構(gòu)建動(dòng)畫。它會告知我們的動(dòng)畫完成,我們綁定了為,告訴組件跳過的檢測,使用。 項(xiàng)目開發(fā)中動(dòng)畫有著很重要的作用,而且也是用到的地方非常多,例如:鼠標(biāo)的進(jìn)入離開,彈窗效果,組件的顯示隱藏,列表的切換等等,可以說我們網(wǎng)頁上的動(dòng)畫無處不在,也有人說了,這些東西也可以不使用動(dòng)畫。 對,你說的沒錯(cuò)...
摘要:在這里簡單敘述一下我仿某魚部分布局以及功能實(shí)現(xiàn)的過程,僅做學(xué)習(xí)用途。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時(shí),也完全能夠?yàn)閺?fù)雜的單頁面應(yīng)用提供驅(qū)動(dòng)。可以進(jìn)行確認(rèn)收貨后刪除訂單。 前言 每次寫文章時(shí),總會覺得比寫代碼難多了,可能這就是我表述方面的不足吧,然而寫文章也是可以復(fù)盤一下自己的開發(fā)過程,對自己還是受益良多的。在這里簡單敘述一下我仿某魚部分布局以及功能實(shí)現(xiàn)的過程,僅做...
摘要:站在這個(gè)時(shí)間點(diǎn)上,我對自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當(dāng)然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進(jìn)大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時(shí)間的齒輪已經(jīng)來到了2017年的11月份,距離2018年僅僅還剩下不到兩...
閱讀 685·2023-03-27 18:33
閱讀 887·2023-03-26 17:27
閱讀 752·2023-03-26 17:14
閱讀 736·2023-03-17 21:13
閱讀 665·2023-03-17 08:28
閱讀 2083·2023-02-27 22:32
閱讀 1517·2023-02-27 22:27
閱讀 2430·2023-01-20 08:28