基于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 定时器调用传递参数的方法
Nov 12 Javascript
jQuery CSS()方法改变现有的CSS样式
Aug 20 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
bootstrapvalidator之API学习教程
Jun 29 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
Jan 08 Javascript
JavaScript中发出HTTP请求最常用的方法
Jul 12 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
Aug 27 Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 Javascript
使用layui定义一个模块并使用的例子
Sep 14 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 Javascript
Vue按时间段查询数据组件使用详解
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
基于xcache的配置与使用详解
2013/06/18 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
js获取图片长和宽度的代码
2009/11/24 Javascript
javascript 弹出层组件(升级版)
2011/05/12 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Python编程之Re模块下的函数介绍
2017/10/28 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
Python面试题集
2012/03/08 面试题
手机业务员岗位职责
2013/12/13 职场文书
期末学生评语大全
2014/04/24 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
小学同学聚会感言
2015/07/30 职场文书
小学数学国培研修日志
2015/11/13 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
浅谈PHP7中的一些小技巧
2021/05/29 PHP
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS
基于Python编写一个监控CPU的应用系统
2022/06/25 Python