让图片跳跃起来  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 相关文章推荐
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
javascript实现复制与粘贴操作实例
Oct 16 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
js字符串倒序的实例代码
Nov 30 Javascript
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
JavaScript实现烟花绽放动画效果
Aug 04 Javascript
javascript拖曳互换div的位置实现示例
Jun 28 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
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
twig模板常用语句实例小结
2016/02/04 PHP
php排序算法实例分析
2016/10/17 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
Python中optparse模块使用浅析
2015/01/01 Python
Python实现购物车功能的方法分析
2017/11/10 Python
Python3爬虫之urllib携带cookie爬取网页的方法
2018/12/28 Python
Python语言进阶知识点总结
2019/05/28 Python
树莓派实现移动拍照
2019/06/22 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
高二地理教学反思
2014/01/24 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
经理岗位职责范本
2015/04/15 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书