基于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操作userdata
Apr 27 Javascript
Javascript实现视频轮播在pc端与移动端均可
Sep 29 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
jQuery查找dom的几种方法效率详解
May 17 jQuery
AngularJS读取JSON及XML文件的方法示例
May 25 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
详谈js原型继承的一些问题
Sep 06 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
AngularJS中的作用域实例分析
May 16 Javascript
vue配置多页面的实现方法
May 22 Javascript
js实现滑动进度条效果
Aug 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实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
PHP错误和异常处理功能模块示例
2016/11/12 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
在Django框架中编写Contact表单的教程
2015/07/17 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
python快速排序的实现及运行时间比较
2019/11/22 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
animation和transition的区别
2020/10/12 HTML / CSS
悬挂训练绳:TRX
2017/12/14 全球购物
感恩老师的演讲稿
2014/05/06 职场文书
领导班子专题民主生活会情况想汇报
2014/09/30 职场文书
财产分割协议书范本
2014/11/03 职场文书
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技