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利用ajax调用后台方法实例
Aug 23 Javascript
jCallout 轻松实现气泡提示功能
Sep 22 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
jquery文档操作wrap()方法实例简述
Jan 10 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
基于javascript制作经典传统的拼图游戏
Mar 22 Javascript
vue 组件中添加样式不生效的解决方法
Jul 06 Javascript
JS数组去重的6种方法完整实例
Dec 08 Javascript
Vue 引入AMap高德地图的实现代码
Apr 29 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
header()函数使用说明
2006/11/23 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
vue底部加载更多的实例代码
2018/06/29 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
CentOS6.5设置Django开发环境
2016/10/13 Python
python对日志进行处理的实例代码
2018/10/06 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
大学生简单自荐信
2013/11/10 职场文书
抄作业检讨书
2014/02/17 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
医院志愿者活动总结
2015/05/06 职场文书
离婚起诉书范本
2015/05/18 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
详解Django的MVT设计模式
2021/04/29 Python
python3.9之你应该知道的新特性详解
2021/04/29 Python
Python预测分词的实现
2021/06/18 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电
Python实现双向链表
2022/05/25 Python