利用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 相关文章推荐
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
jQuery分组选择器用法实例
Dec 23 Javascript
不间断循环滚动效果的实例代码(必看篇)
Oct 08 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
微信运维交互机器人的示例代码
Nov 12 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
May 10 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
js简单实现自动生成表格功能示例
Jun 02 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python执行时间的计算方法小结
2017/03/17 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
软件测试企业面试试卷
2016/07/13 面试题
户籍证明的格式
2014/01/13 职场文书
我的长生果教学反思
2014/04/28 职场文书
心理学专业求职信
2014/06/16 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL