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 相关文章推荐
飞鱼(shqlsl) javascript作品集
Dec 16 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
Aug 04 Javascript
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
Js 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 Javascript
kindeditor修复会替换script内容的问题
Apr 03 Javascript
javascript实现动态统计图开发实例
Nov 21 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
Jan 09 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
Jun 21 Javascript
详解原生JS回到顶部
Mar 25 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 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 $_FILES函数详解
2011/03/09 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
Python中的CURL PycURL使用例子
2014/06/01 Python
python分割文件的常用方法
2014/11/01 Python
python 编码规范整理
2018/05/05 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Django框架HttpRequest对象用法实例分析
2019/11/01 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
MYSQL支持事务吗
2013/08/09 面试题
个人简历自我评价八例
2013/10/31 职场文书
编辑求职信样本
2013/12/16 职场文书
导购员的岗位职责
2014/02/08 职场文书
公司联欢晚会主持词
2014/03/22 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2015年财务经理工作总结
2015/05/13 职场文书