让图片跳跃起来  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 相关文章推荐
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
Oct 26 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
JavaScript动态添加css样式和script标签
Jul 19 Javascript
js中数组的常用方法小结
Dec 30 Javascript
jQuery实现三级联动效果
Mar 02 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
Jul 13 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
详解JavaScript 浮点数运算的精度问题
Jul 23 Javascript
JavaScript 继承 封装 多态实现及原理详解
Jul 29 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python线程详解
2015/06/24 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
Python3爬虫学习入门教程
2018/12/11 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
伦敦一卡通:The London Pass
2018/11/30 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
如何开发安全的AJAX应用
2014/03/26 面试题
安全生产管理合理化建议书
2014/03/12 职场文书
临床医学专业求职信
2014/08/08 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
手残删除python之后的补救方法
2021/06/26 Python