js实现可控制左右方向的无缝滚动效果


Posted in Javascript onMay 29, 2016

本文实例为大家分享了无缝滚动效果JavaScript代码实现,供大家参考,具体内容如下】

效果图:

js实现可控制左右方向的无缝滚动效果

实现代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="gb2312" />
    <title>zzzz</title>
    <style>
      *{
        margin: 0;
        padding:0;
      }
      body{
        width: 1000px;
        margin: 100px auto;
        background-color: #fff;
      }
      #wrapper{
        overflow: hidden;
        width: 600px;
        height: 100px;
        position: relative;
         
      }
      #wrapper ul {
        position: absolute;
        left: 0;
        top: 0;
      }
      #wrapper li{
        float: left;
        list-style: none;
      }
      #wrapper li img{
        width: 150px;
        height: 100px;
        border-radius: 9px;
      }
      input[type=button]{
        margin-top: 20px;
        width: 35px; 
        height: 25px;
        line-height: 25px;
      }
    </style>
    <script type="text/javascript">
      window.onload=function(){
        var timer=null;
        var speed=4;
        var od=document.getElementById("wrapper");
        var au=od.getElementsByTagName('ul')[0];
        var ali=au.getElementsByTagName('li');
        au.innerHTML=au.innerHTML+au.innerHTML;
        au.style.width=ali[0].offsetWidth*ali.length+'px';
        timer=setInterval(move,30)
        function move(){
          if(au.offsetLeft<-au.offsetWidth/2){
            au.style.left='0';
          }
          if(au.offsetLeft>0){
            au.style.left=-au.offsetWidth/2+'px';
          }
          au.style.left=au.offsetLeft+speed+'px';
        }
        od.onmouseover=function(){
          clearInterval(timer);
        }
        od.onmouseout=function(){
          timer=setInterval(move,30)
        }
        document.getElementById("btn1").onclick=function(){
          speed=-4;
        }
        document.getElementById("btn2").onclick=function(){
          speed=4;
        }
      }
    </script>
  </head>
  <body>
    <div id="wrapper">
      <ul>
        <li><img src="img/pic4.jpg"/></li>
        <li><img src="img/pic3.jpg"/></li>
        <li><img src="img/pic2.jpg"/></li>
        <li><img src="img/pic1.jpg"/></li>
      </ul>
    </div>
    <input type="button" name="" id="btn1" value="向左" />
    <input type="button" id="btn2" value="向右"/>
  </body>
</html>

大家可以参考以下专题进行学习:

以上就是本文的全部内容,希望对大家学习JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
关于Javascript 对象(object)的prototype
May 09 Javascript
JavaScript中匿名、命名函数的性能测试
Sep 04 Javascript
JS数组的常见用法实例
Feb 10 Javascript
angularjs学习笔记之完整的项目结构
Sep 26 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
Sep 28 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
Jan 16 Javascript
原生JavaScript编写canvas版的连连看游戏
May 29 #Javascript
js省市县三级联动效果实例
Apr 15 #Javascript
js实现精确到秒的倒计时效果
May 29 #Javascript
解读Bootstrap v4 sass设计
May 29 #Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 #Javascript
深入理解js数组的sort排序
May 28 #Javascript
深入理解js函数的作用域与this指向
May 28 #Javascript
You might like
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
python模块之StringIO使用示例
2015/04/08 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
关于Python数据结构中字典的心得
2017/12/04 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
对python周期性定时器的示例详解
2019/02/19 Python
django中的图片验证码功能
2019/09/18 Python
python实现人脸签到系统
2020/04/13 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
测试工程师程序员求职信范文
2014/02/20 职场文书
艺术教育实施方案
2014/05/03 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
皇城相府导游词
2015/02/06 职场文书
公司辞职信模板
2015/05/13 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
DE1107机评
2022/04/05 无线电