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


Posted in Javascript onNovember 29, 2016

在前面的文章中,我们讲到了js中数组的具体操作,详见(Js对Array的各种操作总结),这里就不再做详细的讲解。今天主要的目的是如何用数组进行图片的简单左右切换。

       本文中的图片切换具体步骤如下: 

      第1步:简单的布局并设计基本的显示样式;
       第2步:通过js获取相关元素;
       第3步: 通过数组进行图片url和对应文字描述的存储;
       第4步:初始化:包括图片的初始化,显示图片数字以及对应文字的初始化等;
       第5步:点击按钮切换图片,编写对应的函数,其实就是数组的简单应用。
       接下来先看看效果图,然后进行对应的代码讲解。

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

实现代码:

<!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的属性内容读写操作。其中需要注意的是,当我们点击下一张到最后一张图片或者点击上一张到第一张时,需要设置具体的数值变化,不=否则会越界,那么图片、数字和对应的问题就没有内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js获取页面传来参数的方法
Sep 06 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
javascript动态添加删除tabs标签的方法
Jul 06 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
详解AngularJS中的filter过滤器用法
Jan 04 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
Jun 06 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
Aug 09 Javascript
JavaScript编写一个简易购物车功能
Sep 17 Javascript
原生js实现轮播图的示例代码
Feb 20 Javascript
Vue实现本地购物车功能
Dec 05 Javascript
vuex vue简单使用知识点总结
Aug 29 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
Apr 27 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 #Javascript
文件上传插件SWFUpload的使用指南
Nov 29 #Javascript
jquery结合html实现中英文页面切换
Nov 29 #Javascript
基于Three.js插件制作360度全景图
Nov 29 #Javascript
jquery购物车结算功能实现方法
Oct 29 #Javascript
JavaScript微信定位功能实现方法
Nov 29 #Javascript
jQuery中的select操作详解
Nov 29 #Javascript
You might like
Laravel框架中自定义模板指令总结
2017/12/17 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
vue项目引入ts步骤(小结)
2019/10/31 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python文件和流(实例讲解)
2017/09/12 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python读写文件write和flush的实现方式
2020/02/21 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
高三地理教学反思
2014/01/11 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
民事上诉状范文
2015/05/22 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python