利用JS做网页特效_大图轮播(实例讲解)


Posted in Javascript onAugust 09, 2017

废话不多说,直接上代码:

<style>
      * {
        margin: 0px;
        padding: 0px;
      }
      
      .stage {
        width: 500px;
        height: 300px;
        border: 5px solid black;
        margin: 200px;
        position: relative;
        overflow: hidden;
      }
      
      .to-left,
      .to-right {
        position: absolute;
        top: 0px;
        width: 50px;
        height: 300px;
        background-color: black;
        color: white;
        font-size: 30px;
        text-align: center;
        line-height: 300px;
        opacity: 0.3;
      }
      
      .to-left {
        left: 0px;
      }
      
      .to-right {
        right: 0px;
      }
      
      .to-left:hover,
      .to-right:hover {
        cursor: pointer;
        opacity: 0.5;
      }
      
      .banner {
        width: 3000px;
        height: 300px;
      }
      
      .items {
        float: left;
        width: 500px;
        height: 300px;
        background-color: blanchedalmond;
        font-size: 100px;
        text-align: center;
        line-height: 300px;
      }
    </style>
  </head>
<!--大图轮播特效-->
  <body>
    <div class="stage">
      <div class="to-left">
        <</div>
          <div class="to-right">></div>
          <div class="banner">
            <div class="items">1</div>
            <div class="items" style="">2</div>
            <div class="items" style="">3</div>
            <div class="items" style="">4</div>
            <div class="items" style="">5</div>
            <div class="items">1</div>
          </div>
      </div>
  </body>

</html>
<script>
  var to_right = document.getElementsByClassName('to-right')[0];
  var to_left = document.getElementsByClassName('to-left')[0];
  var banner = document.getElementsByClassName('banner')[0];
  var arr = [];
  var count = 1;

  to_right.onclick = function() {
    toRight();
  }
  
  function toRight(){
    arr.push(window.setInterval("moveLeft()", 30));
  }
  
  to_left.onclick = function() {
    toLeft();
  }

  function toLeft(){
    arr.push(window.setInterval("moveRight()", 30));
  }
  
  function moveLeft() {
    if(count < 5) {
      if(banner.offsetLeft > count * (-500)) {
        banner.style.marginLeft = banner.offsetLeft - 20 + "px";
      } else {
        for(var x in arr) {
          window.clearInterval(arr[x]);
        }
        count++;
      }
//  连接点
    }else{
      if(banner.offsetLeft > count * (-500)) {
        banner.style.marginLeft = banner.offsetLeft - 20 + "px";
      } else {
        for(var x in arr) {
          window.clearInterval(arr[x]);
        }
        count = 1;
        banner.style.marginLeft = 0 + 'px';
      }
    }
  }
  
  function moveRight() {
    if(count-1 >0) {
      if(banner.offsetLeft < (count-2) * (-500)) {
        banner.style.marginLeft = banner.offsetLeft + 20 + "px";
      } else {
        for(var x in arr) {
          window.clearInterval(arr[x]);
        }
        count--;
      }
    }
  }
  window.setInterval("toRight()",1750);
  

</script>

以上这篇利用JS做网页特效_大图轮播(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
Jan 23 Javascript
javascript利用apply和arguments复用方法
Nov 25 Javascript
使用GruntJS构建Web程序之安装篇
Jun 04 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
Jan 10 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 Javascript
vue自定义指令directive的使用方法
Apr 07 Javascript
Node.js系列之安装配置与基本使用(1)
Aug 30 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 jQuery
Vue 技巧之控制父类的 slot
Feb 24 Javascript
基于Vue实例对象的数据选项
Aug 09 #Javascript
react-native之ART绘图方法详解
Aug 08 #Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 #jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 #jQuery
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 #Javascript
angular+ionic返回上一页并刷新页面
Aug 08 #Javascript
微信小程序movable view移动图片和双指缩放实例代码
Aug 08 #Javascript
You might like
PHP新建类问题分析及解决思路
2015/11/19 PHP
php支付宝APP支付功能
2020/07/29 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
前端微信支付js代码
2016/07/25 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[00:37]DOTA2上海特级锦标赛 Secert 战队宣传片
2016/03/03 DOTA
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
python安装以及IDE的配置教程
2015/04/29 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
python实现网页自动签到功能
2019/01/21 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
自定义django admin model表单提交的例子
2019/08/23 Python
python判断元素是否存在的实例方法
2020/09/24 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
初任培训自我鉴定
2013/10/07 职场文书
大学毕业感言一句话
2014/02/06 职场文书
决心书范文
2014/03/11 职场文书
汽车专业求职信
2014/06/05 职场文书
小学运动会报道稿
2014/10/04 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书