Javascript实现图片轮播效果(一)让图片跳动起来


Posted in Javascript onFebruary 17, 2016

图片轮播效果,在各大网站的首页都能看到,比较常见。下面小编给大家分享这一效果的简单实现。

1.图片跳动起来

2.图片序列控制的实现

3.前后按钮控制的实现

这篇文章来看图片按照间隔时间进行切换.

我们先把结构代码完成,这个我就不做详细的讲解了.先给大家展示下效果图:

Javascript实现图片轮播效果(一)让图片跳动起来

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
* {
box-sizing: border-box;
}
a {
text-decoration: none;
}
ul,ol,li{
list-style: none;
margin: 0;
padding: 0;
}
#slider{
width: 800px;
height: 300px;
overflow: hidden;
position: relative;
margin: 0 auto;
}
#slider ul{
width: 2400px;
position: relative;
}
#slider ul:after{
content: " ";
width: 0;
height: 0;
display: block;
}
#slider ul li{
float: left;
width: 800px;
height: 300px;
overflow: hidden;
}
#slider ul li img{
width: 100%;
}
#slider ol{
position: absolute;
bottom: 10px;
left: 46%;
}
#slider ol li{
display: inline-block;
}
#slider ol li a{
display: inline-block;
padding:4px 8px;
border-radius:15px;
background-color: #000;
color: #fff;
}
#slider .prev, #slider .next{
display: inline-block;
position: absolute;
top: 49%;
background-color: #000;
opacity: 0.6;
color: #fff;
padding: 3px;
}
#slider .prev{
left: 10px;
}
#slider .next{
right: 10px;
}
</style>
</head>
<body>
<div id="slider">
<ul>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-1.jpg" /> </li>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-2.jpg" /> </li>
<li> <img src="http://www.bates-hewett.com/images/sliders/slider-3.jpg" /> </li>
</ul>
<ol>
<li> <a href="#">1</a> </li>
<li> <a href="#">2</a> </li>
<li> <a href="#">3</a> </li>
</ol>
<a href="#">上一张</a>
<a href="#">下一张</a>
</div>
</body>
</html>

好的,现在我们来通过JS控制图片的跳转.

首先我们需要找到图片所在的位置,这里我们是通过ul来进行布局的所以首先得找到UL下的LI的数目

接着让图片一张一张的展示,我们使用了视窗的模式,就是遮罩层的模式.#slider是一个视窗,ul是视窗外的景色,而ul得景色是横向排版的

然后就是让外面的景色显示为视窗的大小,也就是让每一张图片作为每一次的视窗景色,这里就是控制图片的大小要与视窗同等大小.

上面讲解的是一个概念,也就是布局的处理,下面我们JS的控制了,要实现图片间隔的显示不同.我们就需要用到JS的setInterval或者setTimeout.这里我们使用setInterval(因为这个用起来方便.)

每跳转一次,我们控制的是UL的position的left,这样就可以让ul下的景色,在每一次都是显示不一样,而这个left是根据视窗的宽度来决定,第一张left当然是-800 * 0 ,第二种就是 -800*1,第三种是-800*2...依次类推.那我们就可以得出下面的代码

<script>
(function(){
var slider = document.getElementById("slider");
var imgul = slider.getElementsByTagName("ul")[0];
var imglis = imgul.getElementsByTagName("li");
var len = imglis.length;
var index = 0;
setInterval(function(){
if(index >= len){
index = 0;
}
imgul.style.left = - (800 * index) + "px";
index++;
},2000);
})();
</script>

JS代码这样看起来就很简单了. 我这里是设置2秒跳转依次,然后跳转的次数大于等于图片的数目后,让其返回到第一张图片.

Javascript实现图片轮播效果(一)让图片跳动起来 

以上内容是小编给大家介绍Javascript实现图片轮播效果(一)让图片跳动起来的全部内容,希望对大家有所帮助。

Javascript 相关文章推荐
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 Javascript
JSONP 跨域共享信息
Aug 16 Javascript
探讨js中的双感叹号判断
Nov 11 Javascript
jQuery 中国省市两级联动选择附图
May 14 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
如何在JavaScript中谨慎使用代码注释
Jun 21 Javascript
基于javascript简单实现对身份证校验
Jan 25 #Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 #Javascript
Bootstrap布局组件应用实例讲解
Feb 17 #Javascript
深入php面向对象、模式与实践
Feb 16 #Javascript
三个js循环的关键字示例(for与while)
Feb 16 #Javascript
解析Node.js异常处理中domain模块的使用方法
Feb 16 #Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
Feb 16 #Javascript
You might like
php类
2006/11/27 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
图解js图片轮播效果
2015/12/20 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
js中this对象用法分析
2018/01/05 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python中logging模块的用法实例
2014/09/29 Python
快速了解Python中的装饰器
2018/01/11 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
养殖项目策划书范文
2014/01/13 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
工地安全质量标语
2014/06/07 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python