基于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入门学习书籍推荐
Jun 12 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
Mar 02 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
Sep 23 Javascript
提升jQuery的性能需要做好七件事
Jan 11 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JavaScript实现一个带AI的井字棋游戏源码
May 21 Javascript
Vue文件配置全局变量的实例
Sep 06 Javascript
React Native中Mobx的使用方法详解
Dec 04 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 Javascript
vant中的toast层级改变操作
Nov 04 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
APMServ使用说明
2006/10/23 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
Python 闭包的使用方法
2017/09/07 Python
python操作oracle的完整教程分享
2018/01/30 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
网上书店创业计划书
2014/01/12 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
企业授权委托书范本
2014/09/22 职场文书
关于拾金不昧的感谢信
2015/01/21 职场文书
中学感恩教育活动总结
2015/05/05 职场文书