巧用数组制作图片切换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 相关文章推荐
JavaScript 图片预览效果 推荐
Dec 22 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
Jun 30 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
vue实现商城购物车功能
Nov 27 Javascript
JavaScript中的高级函数
Jan 04 Javascript
浅谈Vue组件及组件的注册方法
Aug 24 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
Aug 11 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
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP数组相关函数汇总
2015/03/24 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
什么是GWT的Entry Point
2013/08/16 面试题
汽车驾驶求职信
2013/10/25 职场文书
百度吧主申请感言
2014/01/12 职场文书
党员干部公开承诺书
2014/03/26 职场文书
党支部特色活动方案
2014/08/20 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
浅析MongoDB之安全认证
2021/06/26 MongoDB
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers