简单实现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 相关文章推荐
js下用层来实现select的title提示属性
Feb 23 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
javascript进行数组追加方法小结
Jun 16 Javascript
swtich/if...else的替代语句
Aug 16 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 Javascript
jquery对所有input type=text的控件赋值实现方法
Dec 02 Javascript
学习使用Bootstrap栅格系统
May 11 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 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
解析php中memcache的应用
2013/06/18 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
php短址转换实现方法
2015/02/25 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
laravel学习教程之关联模型
2016/07/30 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
详解Python中的join()函数的用法
2015/04/07 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
Random 在 Python 中的使用方法
2018/08/09 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
Python unittest框架操作实例解析
2020/04/13 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
如何安装ruby on rails
2014/02/09 面试题
移动通信专业自荐信范文
2013/11/12 职场文书
外语系毕业生找工作的求职信
2013/11/28 职场文书
工厂保安员岗位职责
2014/01/31 职场文书
初二学习计划书范文
2014/04/27 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js