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 的Document属性和方法集合
Jan 25 Javascript
一步一步制作jquery插件Tabs实现过程
Jul 06 Javascript
基本jquery的控制tabs打开的数量的代码
Oct 17 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
Mar 21 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
canvas知识总结
Jan 25 Javascript
微信小程序中使用javascript 回调函数
May 11 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
关于JavaScript的单双引号嵌套问题
Aug 20 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 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
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
Symfony的安装和配置方法
2016/03/17 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
json 定义
2008/06/10 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
学Python 3的理由和必要性
2019/11/19 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
文明青少年标兵事迹材料
2014/01/28 职场文书
项目投资意向书
2014/04/01 职场文书
企业党员一句话承诺
2014/05/30 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
护士2015年终工作总结
2015/04/29 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python