利用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 相关文章推荐
列表内容的选择
Jun 30 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
Apr 25 Javascript
JSON传递bool类型数据的处理方式介绍
Sep 18 Javascript
Javascript连接多个数组不用concat来解决
Mar 24 Javascript
再谈Jquery Ajax方法传递到action(补充)
May 12 Javascript
JavaScript中的getTime()方法使用详解
Jun 10 Javascript
第一次动手实现bootstrap table分页效果
Sep 22 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
javascript如何实现create方法
Nov 04 Javascript
JavaScript实现捕获鼠标坐标
Apr 12 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
Protoss热键控制
2020/03/14 星际争霸
生成php程序的php代码
2008/04/07 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
node.js操作mongodb学习小结
2015/04/25 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
jQuery实现日历效果
2020/09/11 jQuery
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
python @propert装饰器使用方法原理解析
2019/12/25 Python
Python实现爬取并分析电商评论
2020/06/19 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
德国家具折扣店:POCO
2020/02/28 全球购物
大专生简历的自我评价
2013/11/26 职场文书
后勤部长岗位职责
2013/12/14 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
龙门石窟导游词
2015/02/02 职场文书
导游词幽默开场白
2019/06/26 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
redis实现共同好友的思路详解
2021/05/26 Redis
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android
Redis高可用集群redis-cluster详解
2022/03/20 Redis
python神经网络 使用Keras构建RNN训练
2022/05/04 Python
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL