基于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 相关文章推荐
Jquery cookie操作代码
Mar 14 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
Feb 26 Javascript
jQuery操作Table技巧大汇总
Jan 23 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
angular4自定义组件详解
Sep 28 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
vue.js实现标签页切换效果
Jun 07 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自动加载的两种实现方法
2010/06/21 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
javascript中的this详解
2014/12/08 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
python list转矩阵的实例讲解
2018/08/04 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Python调用.NET库的方法步骤
2019/12/27 Python
用python解压分析jar包实例
2020/01/16 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
一封普通求职者的求职信
2013/11/20 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
单位工资证明范本
2015/06/12 职场文书