基于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 相关文章推荐
JS之小练习代码
Oct 12 Javascript
javascript Array.prototype.slice的使用示例
Nov 14 Javascript
JavaScript检测字符串中是否含有html标签实现方法
Jul 01 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
利用jquery制作滚动到指定位置触发动画
Mar 26 Javascript
JS打印组合功能
Aug 04 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
d3.js实现简单的网络拓扑图实例代码
Nov 06 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
Jan 08 Javascript
JavaScript无阻塞加载和defer、async详解
Feb 26 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
微信小程序开发图片拖拽实例详解
May 05 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
神族 PROTOSS 概述
2020/03/14 星际争霸
php 中文和编码判断代码
2010/05/16 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
php和asp语法上的区别总结
2019/05/12 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
web前端vue filter 过滤器
2018/01/12 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python样条插值的实现代码
2018/12/17 Python
tensorflow自定义激活函数实例
2020/02/04 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
农村婚礼证婚词
2014/01/08 职场文书
业务员简历自我评价
2014/03/06 职场文书
创先争优一句话承诺
2014/05/29 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS