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 相关文章推荐
永不消失的title提示代码
Feb 15 Javascript
jquery.validate使用攻略 第三部
Jul 01 Javascript
用javascript作一个通用向导说明
Aug 30 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
Jun 30 Javascript
js键盘事件的keyCode
Jul 29 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
javascript history对象详解
Feb 09 Javascript
原生JS中slice()方法和splice()区别
Mar 06 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
vue+openlayers绘制省市边界线
Dec 24 Vue.js
基于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 获取mysql数据库信息代码
2009/03/12 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
koa-router源码学习小结
2018/09/07 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Python获取系统默认字符编码的方法
2015/06/04 Python
Django框架中方法的访问和查找
2015/07/15 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
python join方法使用详解
2019/07/30 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
基于opencv实现简单画板功能
2020/08/02 Python
利用python 读写csv文件
2020/09/10 Python
python openCV自制绘画板
2020/10/27 Python
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
什么是Web Service?
2012/07/25 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
信息技术专业个人自我评价
2013/12/11 职场文书
士力架广告词
2014/03/20 职场文书
护士个人自我鉴定
2014/03/24 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
工作时间证明
2015/06/15 职场文书
2016年清明节寄语
2015/12/04 职场文书