让图片跳跃起来  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 相关文章推荐
window.showModalDialog使用手册
Jan 11 Javascript
Javascript 面向对象 继承
May 13 Javascript
jQuery图片滚动图片的效果(另类实现)
Jun 02 Javascript
Jquery取得iframe下内容的方法
Nov 18 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 Javascript
Angularjs 自定义服务的三种方式(推荐)
Aug 02 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
element实现合并单元格通用方法
Nov 13 Javascript
详解JavaScript 作用域
Jul 14 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
第六节--访问属性和方法
2006/11/16 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
javascript使用activex控件的代码
2011/01/27 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
vuex实现购物车功能
2020/06/28 Javascript
浅谈javascript如何获取文件后缀名
2020/08/07 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
Python根据区号生成手机号码的方法
2015/07/08 Python
python操作mysql数据库
2017/03/05 Python
python顺序执行多个py文件的方法
2019/06/29 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
年检委托书
2014/08/30 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
身份证丢失证明
2015/06/19 职场文书
生日宴会祝酒词
2015/08/10 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
java泛型通配符详解
2021/07/25 Java/Android
Python学习之时间包使用教程详解
2022/03/21 Python