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 相关文章推荐
jQuery 1.7.2中getAll方法的疑惑分析
May 23 Javascript
javascript刷新父页面的各种方法汇总
Sep 03 Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
基于iScroll实现下拉刷新和上滑加载效果
Jul 18 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
更优雅的微信小程序骨架屏实现详解
Aug 07 Javascript
vue props 单项数据流实例分享
Feb 16 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
Aug 14 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
Protoss热键控制
2020/03/14 星际争霸
php对大文件进行读取操作的实现代码
2013/01/23 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python动态加载变量示例分享
2014/02/17 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python3抓取中文网页的方法
2015/07/28 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Django Rest framework之认证的实现代码
2018/12/17 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
python同时替换多个字符串方法示例
2019/09/17 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
软件工程师面试题
2012/06/25 面试题
工业自动化毕业生自荐信范文
2014/01/04 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
家长会标语
2014/06/24 职场文书
商品陈列协议书
2014/09/29 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
社区节水倡议书
2015/04/29 职场文书
学校工会工作总结2015
2015/05/19 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python