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 相关文章推荐
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
js完整倒计时代码分享
Sep 18 Javascript
js实现带三角符的手风琴效果
Mar 01 Javascript
基于zepto.js实现登录界面
Oct 09 Javascript
vue用递归组件写树形控件的实例代码
Jul 19 Javascript
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
Vue 实现v-for循环的时候更改 class的样式名称
Jul 17 Javascript
js实现滚动条自动滚动
Dec 13 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开发大型项目的一点经验
2006/10/09 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
JavaScript实现的多个图片广告交替显示效果代码
2015/09/04 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
python判断windows隐藏文件的方法
2014/03/21 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
企业百日安全活动总结
2015/05/07 职场文书
党小组意见范文
2015/06/08 职场文书
升学宴家长致辞
2015/07/27 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis