简单实现JavaScript图片切换效果


Posted in Javascript onNovember 28, 2016

JavaScript实现图片切换,主要用到setInterval()函数clearInterval()函数,前者功能是开启动画,后者功能则为清除动画(可理解为使动画停止),为了使动画停止,则需要定义全局变量作为标志,标志返回setInterval()函数的id,id作为clearInterval()函数的引用,目的是为了告诉clearInterval()函数动画暂停的位置。下面是实现的代码:

部分HTML代码:第一个为左按钮,是一张带箭头的透明图片,点击实现图片右滑动,第二个为图片展示区域,第三个是右按钮,点击实现图片左滑动。

<body onload="change()">
 <div id="changePhotos">
   <img src="images/left.png" id="leftimg" onclick="rightMove()"/>
   <img id="photo" src="images/4.jpg" onmouseover="off()" onmouseout="on()" />
   <img src="images/right.png" id="rightimg" onclick="leftMove()"/> 
 </div>
 </body>

JavaScript全部代码:JS主要实现鼠标放在图片上方,动画暂停,移开图片动画开始,以及点击左右按钮,图片的左右切换。

var photos = ['images/1.jpg','images/2.jpg','images/3.jpg','images/4.jpg','images/5.jpg'];
var count = 0; //记录图片张数
var flag; //返回动画id
function callback() //实现图片切换
{ 
 document.getElementById("photo").src = photos[count];
 count++;
 if (count == photos.length)
  count = 0; 
} 

function change() //动画开启
{
 flag = setInterval(callback,2000); 
}

function off() //onmouseover事件发生,动画暂停
{
 clearInterval(flag);
}

function on() //onmouseout事件发生,动画继续
{
 flag = setInterval(callback,2000); 
}

function leftMove() //实现左滑动
{
 document.getElementById("photo").src = photos[count];
 count++;
 if (count == photos.length)
  count = 0;
}

function rightMove() //实现右滑动
{
 count--;
 document.getElementById("photo").src = photos[count];
 if (count <= 0)
  count = photos.length - 1;
}

整体实现代码比较简单,具体展示样式则用到CSS,希望对初学者有所帮助!

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

Javascript 相关文章推荐
event对象的方法 兼容多浏览器
Jun 27 Javascript
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
SpringMVC简单整合Angular2的示例
Jul 31 Javascript
webpack4.0 入门实践教程
Oct 08 Javascript
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
详解nvm管理多版本node踩坑
Jul 26 Javascript
原生js拖拽功能制作滑动条实例代码
Feb 05 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 #Javascript
JS调用打印机功能简单示例
Nov 28 #Javascript
完全深入学习Bootstrap表单
Nov 28 #Javascript
EasyUI Combobox设置默认值 获取text的方法
Nov 28 #Javascript
Bootstrap选项卡动态切换效果
Nov 28 #Javascript
js简单正则验证汉字英文及下划线的方法
Nov 28 #Javascript
Bootstrap实现导航栏的2种方式
Nov 28 #Javascript
You might like
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
Django中对数据查询结果进行排序的方法
2015/07/17 Python
利用Python如何生成随机密码
2016/04/20 Python
python监控文件或目录变化
2016/06/07 Python
python简单读取大文件的方法
2016/07/01 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python小白垃圾回收机制入门
2020/06/09 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
物业公司采购员岗位职责
2013/12/31 职场文书
甜点店创业计划书
2014/01/27 职场文书
优秀应届生求职信
2014/06/16 职场文书
故意伤害辩护词
2015/05/21 职场文书
八年级数学教学反思
2016/02/17 职场文书