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 相关文章推荐
JS时间选择器 兼容IE6,7,8,9
Jun 26 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
基于jQuery实现仿淘宝套餐选择插件
Mar 04 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
原生JS实现拖拽图片效果
Aug 27 Javascript
JS中使用DOM来控制HTML元素
Jul 31 Javascript
前端分页功能的实现以及原理(jQuery)
Jan 22 Javascript
BootStrap实现鼠标悬停下拉列表功能
Feb 17 Javascript
使用Dropzone.js上传的示例代码
Oct 10 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
Ant Design的可编辑Tree的实现操作
Oct 31 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 var_dump遍历对象属性的函数与应用代码
2010/06/04 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
javascript面向对象程序设计(一)
2015/01/29 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python文件和目录操作函数小结
2014/07/11 Python
python实现多张图片拼接成大图
2019/01/15 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
使用Python的turtle模块画国旗
2019/09/24 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
学生评语集锦
2015/01/04 职场文书
学习与创新自我评价
2015/03/09 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫