基于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事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
Dec 19 Javascript
JavaScript中创建字典对象(dictionary)实例
Mar 31 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
May 12 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
vue.js使用v-if实现显示与隐藏功能示例
Jul 06 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
VuePress 中如何增加用户登录功能
Nov 29 Javascript
如何使JavaScript休眠或等待
Apr 27 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设计模式 Singleton(单例模式)
2011/06/26 PHP
mysql,mysqli,PDO的各自不同介绍
2012/09/19 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
jquery实现拖拽添加元素功能
2020/12/01 jQuery
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
自学python的建议和周期预算
2019/01/30 Python
python的依赖管理的实现
2019/05/14 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
python实现简单图书管理系统
2019/11/22 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
工程测量与监理专业应届生求职信
2013/11/27 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
好媳妇事迹材料
2014/12/24 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
JavaScript实现简单计时器
2021/06/22 Javascript
使用Python获取字典键对应值的方法
2022/04/26 Python