让图片跳跃起来  javascript图片轮播特效


Posted in Javascript onFebruary 16, 2016

图片轮播效果,在现在的网站的首页,差不多是必备的效果显示. 所以我从三个方面来讲解这一效果的简单实现.

  • 图片跳动起来
  • 图片序列控制的实现
  • 前后按钮控制的实现

这篇文章来看图片按照间隔时间进行切换.

我们先把结构代码完成,这个我就不做详细的讲解了.看效果

让图片跳跃起来  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类定义例子
Sep 12 Javascript
JQuery对checkbox操作 (循环获取)
May 20 Javascript
js确定对象类型方法
Mar 30 Javascript
jquery延迟加载外部js实现代码
Jan 11 Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
js获取select标签的值且兼容IE与firefox
Dec 30 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
JavaScript实现的多种鼠标拖放效果
Nov 03 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
记录一次websocket封装的过程
Nov 23 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 #Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 #Javascript
javascript每日必学之运算符
Feb 16 #Javascript
解析Node.js基于模块和包的代码部署方式
Feb 16 #Javascript
javascript每日必学之基础入门
Feb 16 #Javascript
快速掌握Node.js环境的安装与运行方法
Feb 16 #Javascript
js实现异步循环实现代码
Feb 16 #Javascript
You might like
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
layer弹出层全屏及关闭方法
2018/08/17 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
python数据结构之二叉树的建立实例
2014/04/29 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
施工班组长岗位职责
2014/01/05 职场文书
语文教学感言
2014/02/06 职场文书
中式结婚主持词
2014/03/14 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
中班上学期个人总结
2015/02/12 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
入党介绍人意见2015
2015/06/01 职场文书
导游词之西安大清真寺
2019/12/17 职场文书