javascript实现的上下无缝滚动效果


Posted in Javascript onSeptember 19, 2016

本文实例讲述了javascript实现的上下无缝滚动效果。分享给大家供大家参考,具体如下:

前面介绍了JS左右无缝滚动效果,现在做下无缝滚动——上下的效果。其他代码和左右的差不多,只是改变的是 offsetTop 的值,并且不需要计算 ul 整体的宽度了。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>无缝滚动——上下</title>
  <style type="text/css">
  *{margin:0;padding:0;}
  li{list-style:none;}
  img{border:0;}
  #scroll{width:178px;margin:50px auto;position:relative;}
  .btn{display:block;width:27px;height:27px;margin-left:auto;margin-right:auto;cursor:pointer;}
  .up{background:url(images/up.gif);}
  .down{background:url(images/down.gif);}
  .content{margin:10px 0;height:440px;overflow:hidden;position:relative;}
  .content ul{position:absolute;top:0;left:0;}
  .content li{height:110px;}
  </style>
</head>
<body>
  <div id="scroll">
    <a href="javascript:;" id="up" class="btn up"></a>
    <div class="content">
      <ul>
        <li><a href="#" title="111"><img src="images/1.jpg" alt="111" width="178" height="108"/></a></li>
        <li><a href="#" title="222"><img src="images/2.jpg" alt="222" width="178" height="108"/></a></li>
        <li><a href="#" title="333"><img src="images/3.jpg" alt="333" width="178" height="108"/></a></li>
        <li><a href="#" title="444"><img src="images/4.jpg" alt="444" width="178" height="108"/></a></li>
      </ul>
    </div>
    <a class="btn down" href="javascript:;" id="down"></a>
  </div>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
  var oDiv = document.getElementById('scroll');
  var btnUp = document.getElementById('up');
  var btnDown = document.getElementById('down');
  var oUl = oDiv.getElementsByTagName('ul')[0];
  var timer = null;
  var speed = -1;
  oUl.innerHTML += oUl.innerHTML;
  setTimeout(move,1500);
  btnUp.onclick = function(){
    clearInterval(timer);
    speed = -1;
    move();
  };
  btnDown.onclick = function(){
    clearInterval(timer);
    speed = 1;
    move();
  };
  oUl.onmouseover = function(){
    clearInterval(timer);
  };
  oUl.onmouseout = function(){
    move();
  };
  function move(){
    timer = setInterval(function(){
      oUl.style.top = oUl.offsetTop + speed + 'px';
      if(oUl.offsetTop <= - oUl.offsetHeight / 2){
        oUl.style.top = '0';
      }else if(oUl.offsetTop >= 0){
        oUl.style.top = - oUl.offsetHeight / 2 + 'px';
      };
    },30);
  };
};
</script>

如果要改变移动速度,修改 speed 的值即可,初始默认为向上移动,即速度为负数。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 拖拉缩放效果
Dec 10 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
Jun 11 Javascript
JS中动态创建元素的三种方法总结(推荐)
Oct 20 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
详解VUE的状态控制与延时加载刷新
Mar 27 Javascript
AngularJS动态菜单操作指令
Apr 25 Javascript
Angular.js实现动态加载组件详解
May 28 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
angularJS1 url中携带参数的获取方法
Oct 09 Javascript
微信小程序如何获取地址
Dec 24 Javascript
详解前端任务构建利器Gulp.js使用指南
Apr 30 Javascript
Angular ng-class详解及实例代码
Sep 19 #Javascript
javascript实现的左右无缝滚动效果
Sep 19 #Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 #Javascript
BootStrap入门教程(三)之响应式原理
Sep 19 #Javascript
HTML5 实现的一个俄罗斯方块实例代码
Sep 19 #Javascript
javascript this详细介绍
Sep 19 #Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
Sep 19 #Javascript
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
PHP类型约束用法示例
2016/09/28 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python素数检测实例分析
2015/06/15 Python
Python验证企业工商注册码
2015/10/25 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
槐乡的孩子教学反思
2014/04/27 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
费用申请报告范文
2015/05/15 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers