基于JavaScript实现无缝滚动效果


Posted in Javascript onJuly 21, 2017

本文实例为大家分享了JavaScript实现无缝滚动效果展示的具体代码,供大家参考,具体内容如下

  • 首先应该区分样式中的绝对定位和相对定位,一般来说,移动的单位为绝对定位,在这个实例中,移动的Ul就是绝对定位 ,否则它根本无法滚动,而它相对于div1滚动 ,则div1就作为他的相对定位。
  • oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;这段代码是实现无缝滚动的核心,使之可以在不论左右滚动的时候都有下一步图片接上去。
  • 在操作或者进行比较的时候,都要用offset取值来进行操作或者比较!!!

代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>无缝滚动2</title>
 <style type="text/css"> 
 *{
  padding: 0;
  margin:0;
 }
 #div1{
  position: relative;
  width: 800px;
  height: 200px;
  background:red;
  margin:100px auto;
  overflow: hidden;
 }
 #div1 ul{
  position: absolute;
  left: 0;
  top: 0;

 }
 #div1 ul li{
  float: left;
  list-style: none;
  width: 200px;
  height: 200px;
 }
 </style>
 <script type="text/javascript">
 window.onload=function()
 {
  var oDiv = document.getElementById('div1');
  var oUl = oDiv.getElementsByTagName('ul')[0];
  var aLi = oDiv.getElementsByTagName('li');
  var aA = document.getElementsByTagName('a');
  var speed = 3;
  oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
  oUl.style.width=aLi.length*aLi[0].offsetWidth+'px';

  var timer=setInterval(move,30);

  function move()
  { 
   if (oUl.offsetLeft<=-oUl.offsetWidth/2) {
    oUl.style.left="0";
    } 
    if(oUl.offsetLeft>0){
     oUl.style.left=-oUl.offsetWidth/2+'px';
    }
    oUl.style.left=oUl.offsetLeft+speed+'px';
  };
  oDiv.onmouseover=function()
  {
   clearInterval(timer);
  };
  oDiv.onmouseout=function()
  {
   timer=setInterval(move,30);
  };
  aA[0].onclick=function()
  {
   speed=-3;
  };
  aA[1].onclick=function()
  {
   speed=3;
  };
 };
 </script>
</head>
<body>
 <a href="javascript:;">向左</a>
 <a href="javascript:;">向右</a>
 <div id="div1">
  <ul>
   <li><img src="images/n1.jpg"></li>
   <li><img src="images/n2.jpg"></li>
   <li><img src="images/n3.jpg"></li>
   <li><img src="images/n4.jpg"></li>
  </ul>
 </div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
面向对象的javascript(笔记)
Oct 06 Javascript
小巧强大的jquery layer弹窗弹层插件
Dec 06 Javascript
JavaScript提高性能知识点汇总
Jan 15 Javascript
JavaScript基础知识之方法汇总结
Jan 24 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
Aug 02 Javascript
js获取Get值的方法
Sep 29 Javascript
JS实现的样式切换功能tableCSS实例
Dec 30 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
Jan 19 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 Javascript
Ajax是什么?Ajax高级用法之Axios技术
Apr 21 Javascript
基于JavaScript实现选项卡效果
Jul 21 #Javascript
基于JavaScript实现弹幕特效
Aug 27 #Javascript
js实现水平滚动菜单导航
Jul 21 #Javascript
修改 bootstrap table 默认detailRow样式的实例代码
Jul 21 #Javascript
JavaScript实现购物车基本功能
Jul 21 #Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 #Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 #jQuery
You might like
php Try Catch异常测试
2009/03/01 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
理解javascript异步编程
2016/01/27 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
JS中递归函数
2016/06/17 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
python并发和异步编程实例
2018/11/15 Python
python实现简单日期工具类
2019/04/24 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
python如何随机生成高强度密码
2020/08/19 Python
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
2014大学校园光棍节活动策划书
2014/09/29 职场文书
教师党员承诺书2015
2015/01/21 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
Python中的 Set 与 dict
2022/03/13 Python