本文介绍如何利用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属性内容的读写。需特别注意,当点击“下一张”至最后一张或“上一张”至第一张时,必须设定明确的数值变化逻辑,否则会导致越界,进而致使图片、序号及对应文字内容缺失。
本文内容至此结束,期望对读者的学习有所助益,同时也恳请读者多多支持本站。