JS编写兼容IE6,7,8浏览器无缝自动轮播


Posted in Javascript onOctober 12, 2018

JS编写兼容IE6,7,8浏览器无缝自动轮播

项目要求页面兼容IE6,7,8等浏览器,我们可能会遇到这个轮播效果,轮播板块要求:无限循环、自动轮播和手动切换功能,每一次滚动一小格,网上有很多这类插件,例如:swiper等!

但是很多都是不兼容IE6,7,8这些低级浏览器的,没有办法,只能自己写一个类似的轮播插件

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

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="js/jquery-1.8.3-20180801.min.js"></script>
  <style>
   *{margin: 0;padding: 0;}
   div{position: relative;width: 1000px;overflow: hidden;height: 100px;line-height:100px;}
   ul{position: absolute;list-style: none;overflow: hidden;}
   li{float: left;width: 200px;height: 100px;text-align:center;color:#fff;}
   a{position: absolute;color:#fff;margin:0 10px;font-size:30px;text-decoration:none;}
  </style>
 </head>
 <body>
  <div>
   <ul>
    <li style="background: red;">1</li>
    <li style="background: yellow;">2</li>
    <li style="background: blue;">3</li>
    <li style="background: black;">4</li>
    <li style="background: green;">5</li>
    <li style="background: orange;">6</li>
    <li style="background: skyblue;">7</li>
    <li style="background: blue;">8</li>
    <li style="background: green;">9</li>
    <li style="background: orange;">10</li>
    <li style="background: skyblue;">11</li>
   </ul>
   <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="prev" style="left:0px;">←</a>
   <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" class="next" style="right:0px;">→</a>
  </div> 
 </body>
 <script type="text/javascript">
  var fli = $("ul li").clone(true);
  var oul = $("ul");
  oul.append(fli);
  oul.width($("ul li").eq(0).width()*$("ul li").length);
  var inow = 0;
  var timer = null;
   
  $("div").mouseover(function(){
   clearInterval(timer);
  })
  $("div").mouseout(function(){
   autoplay();
  })
   
  $(".next").click(function(){
   if(inow == $("ul li").length/2){
    oul.css("left","0px");
    inow = 1;
   }else{
    inow++;
   }
   var leng = -inow*$("ul li").eq(0).width()+"px"; 
   oul.animate({"left":leng});
  })
  $(".prev").click(function(){
   if(inow == 0){
    var ml = -$("ul li").eq(0).width()*($("ul li").length/2)+"px";
    oul.css("left",ml);
    inow = $("ul li").length/2-1;
   }else{
    inow--;
   }
   var leng = -inow*$("ul li").eq(0).width()+"px";
   oul.animate({"left":leng});
  })
  function autoplay(){
    timer = setInterval(function(){
    if(inow == $("ul li").length/2){
     oul.css("left","0px");
     inow = 1;
    }else{
     inow++;
    }
    console.log(inow);
    var leng = -inow*$("ul li").eq(0).width()+"px";
    oul.animate({"left":leng});
   },2000);
  }
  autoplay();
 </script>
</html>

希望这篇文章能帮到大家,喜欢技术交流的可以关注我,一起交流前端技术。感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
一些有关检查数据的JS代码
Sep 07 Javascript
在Javascript中定义对象类别
Dec 22 Javascript
csdn 博客的css样式 v3
Feb 24 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
纯js实现重发验证码按钮倒数功能
Apr 21 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
May 03 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
Nov 20 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
Nov 10 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 #Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
Oct 12 #Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
Oct 12 #Javascript
在JS循环中使用async/await的方法
Oct 12 #Javascript
代码实例ajax实现点击加载更多数据图片
Oct 12 #Javascript
vue项目环境变量配置的实现方法
Oct 12 #Javascript
原生JS实现自定义下拉单选选择框功能
Oct 12 #Javascript
You might like
php str_replace的替换漏洞
2008/03/15 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
js中for in的用法示例解析
2013/12/25 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
微信小程序日历效果
2018/12/29 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
详解python中sort排序使用
2019/03/23 Python
python双向链表原理与实现方法详解
2019/12/03 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
小学班级口号
2014/06/09 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
民主评议党员总结
2014/10/20 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年公务员工作总结
2015/04/24 职场文书
房屋维修申请报告
2015/05/18 职场文书
MySql数据库触发器使用教程
2022/06/01 MySQL