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 相关文章推荐
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
JS实现的颜色实时渐变效果完整实例
Mar 25 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
AngularJS实现单一页面内设置跳转路由的方法
Jun 28 Javascript
Angular2生命周期钩子函数的详细介绍
Jul 10 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
Feb 08 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
Jul 19 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 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选项与信息函数的使用详解
2013/05/10 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python清理子进程机制剖析
2017/11/23 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
python实现图书借阅系统
2019/02/20 Python
python批量解压zip文件的方法
2019/08/20 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
高中生的自我鉴定范文
2014/01/24 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
幼儿园家长寄语
2014/04/02 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
评先进个人材料
2014/12/29 职场文书
离婚协议书范文2015
2015/01/26 职场文书
借条格式范本
2015/05/25 职场文书
MySQL连接控制插件介绍
2021/09/25 MySQL