巧用数组制作图片切换js代码

作者:异步漫步时间:2026-10-30 17:38:13浏览:355

本文介绍如何利用JavaScript数组存储图片URL及描述,结合DOM操作实现简单的图片左右切换功能。通过获取元素、初始化显示状态及编写点击事件函数,完成图片轮播逻辑,重点处理边界条件防止越界。

图片切换功能概述

前文已阐述js中数组的具体操作,详见《Js对Array的各种操作总结》,此处不再赘述。本文旨在演示如何利用数组实现图片的简易左右切换效果。

本文所述图片切换功能的具体实施步骤如下:

实现步骤与逻辑

第1步:完成基础布局并设定初始显示样式; 第2步:利用js获取所需相关元素; 第3步: 运用数组存储图片url及对应的文字描述; 第4步:执行初始化操作:涵盖图片初始化、显示图片序号及对应文字初始化等环节; 第5步:响应点击按钮切换图片事件,编写相应函数,该过程实为数组的基础应用。 下文将展示效果图,随后展开代码解析。

图片切换功能概述

代码实现与注意事项

具体实现代码:


<!DOCTYPE html> 
<html lang="en"> <head> <meta charset="UTF-8"> <title>图片切换</title> <style> .box{ width: 600px; height:400px; border: 10px solid #ccc; position: relative; margin: 40px auto 0; } .box a{ width: 30px; height: 30px; background-color: #000; border: 5px solid #fff; position: absolute; top:180px; text-align: center; font-size:25px; font-weight: bold; line-height: 30px; color:#fff; text-decoration: none; filter: alpha(opacity:40); opacity: 0.4; } .box a:hover{ filter:alpha(opacity:80); opacity:0.8; } .box #prev{ left: 10px; } .box #next{ right: 10px; } #text,#num{ height: 30px; line-height:30px; width: 600px; color:#fff; position: absolute; left: 0; background-color: #000; text-align: center; filter: alpha(opacity:80); opacity: 0.8; margin:0; } .box #text{ bottom: 0; } .box #num{ top:0; } .box #img1{ width: 600px; height: 400px; } </style> <script> window.onload = function () { var oPrev = document.getElementById("prev"); var oNext = document.getElementById("next"); var oText = document.getElementById("text"); var oNum = document.getElementById("num"); var oImg = document.getElementById("img1"); var arrUrl = ['images/1.jpg','images/2.jpg','images/3.jpg','images/4.jpg']; var arrText = ['文字1','文字2','文字3','文字4']; //初始化 var num = 0; function fnTab(){ oNum.innerHTML = num + 1 + '/' + arrText.length; oImg.src = arrUrl[num]; oText.innerHTML = arrText[num]; }; fnTab(); oPrev.onclick = function(){ num --; if( num == -1){ num = arrUrl.length -1; } fnTab(); }; oNext.onclick = function(){ num ++; if(num == arrUrl.length){ num = 0; } fnTab(); }; }; </script> </head> <body> <div class="box"> <a id="prev" href="javascript:;"> < </a> <a id="next" href="javascript:;"> > </a> <p id="text">图片正在加载中……</p> <span id="num">数量正在统计中……</span> <img id="img1" src="../images/1.jpg" alt=""> </div> </body> </html>

本示例较为简单,核心在于数组的读写操作以及html属性内容的读写。需特别注意,当点击“下一张”至最后一张或“上一张”至第一张时,必须设定明确的数值变化逻辑,否则会导致越界,进而致使图片、序号及对应文字内容缺失。

本文内容至此结束,期望对读者的学习有所助益,同时也恳请读者多多支持本站。

作者最新文章