基于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 相关文章推荐
ExtJS TabPanel beforeremove beforeclose使用说明
Mar 31 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
最短的IE判断var ie=!-[1,]分析
May 28 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
AngularJS表单验证功能分析
May 26 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
vue中使用GraphQL的实例代码
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
我的论坛源代码(八)
2006/10/09 PHP
简单的用PHP编写的导航条程序
2006/10/09 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
详解如何构建Angular项目目录结构
2017/07/13 Javascript
Vue计算属性的使用
2017/08/04 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
python 3.3 下载固定链接文件并保存的方法
2018/12/18 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
会计专业自荐书
2014/07/08 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
基层党建工作简报
2015/07/21 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang