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 相关文章推荐
jquery ajax abort()的使用方法
Oct 28 Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
Apr 26 Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
js实现的折叠导航示例
Nov 29 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
BootStrapTable服务器分页实例解析
Dec 20 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
Sep 10 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 09 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
Zend引擎的发展 [15]
2006/10/09 PHP
关于php循环跳出的问题
2013/07/01 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
JavaScript delete操作符应用实例
2009/01/13 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Django admin美化插件suit使用示例
2017/12/12 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
python 阶乘累加和的实例
2019/02/01 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
应届生面试求职信
2014/07/02 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
老人院义工活动感想
2015/08/07 职场文书
五一放假通知怎么写
2015/08/18 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python