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 css 实现遮罩层覆盖其他页面元素附图
Sep 22 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
jQuery知识点整理
Jan 30 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
详解js图片轮播效果实现原理
Dec 17 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
强大的 Angular 表单验证功能详细介绍
May 23 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
如何将Node.js中的回调转换为Promise
Nov 10 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入门源程序
2006/10/09 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
php将html转为图片的实现方法
2017/05/19 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
求职简历中个人的自我评价
2013/12/01 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
信息技术培训感言
2014/03/06 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
公民授权委托书范本
2014/09/17 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
师德承诺书
2015/01/20 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python
JavaScript中reduce()的用法
2022/05/11 Javascript