详解js图片轮播效果实现原理


Posted in Javascript onDecember 17, 2015

本文实例讲述了js图片轮播效果实现原理,分享给大家供大家参考,具体内容如下

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
 var timeID;
 var image;
 var current = 0;
 var images = new Array(5);
 function init(){
 for (var i=1;i<=5;i++){
 images[i] = new Image(450,550);
 images[i].src = "pictures/"+i+".jpg";
 }
 image = document.images[0];
 }
 function setSrc(i){
 current = i;
 //设置图片src的属性,实现图片的切换
 image.src = images[i].src;
 }
 function pre(){
 if (current <= 0){
 alert('已经是第一张了');
 }else{
 current--;
 setSrc(current);
 }
 }
 function next(){
 if (current >= 5){
 alert('已经是最后一张了');
 }else{
 current++;
 setSrc(current);
 }
 }
 function play(){
 if (current >= 5){
 current = 0;
 }
 setSrc(++current);
 }
</script>
<body onload="init()">
<input type="button" value="第一张" onclick="setSrc(1)">
<input type="button" value="上一张" onclick="pre()">
<input type="button" value="下一张" onclick="next()">
<input type="button" value="最后一张" onclick="setSrc(5)">
<input type="button" value="幻灯播放" onclick="timeID=setInterval('play()',500)">
<input type="button" value="停止播放" onclick="clearInterval(timeID)">
<div style="border:1px solid blue;width:450px; height:550px;" id="myPic">
 <img src="pictures/1.jpg" />
</div>
</body>
</html>

原理在这呐

首先init()函数用于初始化images数组和image的值,本例中主要是利用setSrc()设置图片的src属性值,这样就达到了图片的切换,图片的轮播是使用定时器来时显的!setInterval('play()',500)的意思是每0.5s调用一次play()函数!

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是js图片轮播效果代码,以及实现js图片轮播效果的原理简介,希望能够帮助大家,真正的做到学以致用。

Javascript 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
jQuery下拉菜单的实现代码
Nov 03 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
Jan 07 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
今天,小程序正式支持 SVG
Apr 20 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
Oct 14 Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 #Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 #Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 #Javascript
jQuery选择器用法实例详解
Dec 17 #Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
Dec 17 #Javascript
js倒计时简单实现方法
Dec 17 #Javascript
高效的jquery数字滚动特效
Dec 17 #Javascript
You might like
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
原生Js实现简易烟花爆炸效果的方法
2015/03/20 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
Python中Continue语句的用法的举例详解
2015/05/14 Python
python类中super()和__init__()的区别
2016/10/18 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
关于python3中setup.py小概念解析
2019/08/22 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
简历的自我评价范文
2014/02/04 职场文书
妇联主席先进事迹
2014/05/18 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书