javascript实现多张图片左右无缝滚动效果


Posted in Javascript onMarch 22, 2017

结构:box包含ul,ul包含4个li;ul绝对定位。

复制li-1、li-2到第li-4后面,为了区分于li-1、li-2,内容改为li-5、li-6,颜色不变。此时ul包含6个li。

需要注意的是,移动的是ul这个大盒子而不是li。

原理:当ul 绝对定位的left 值等于(li-1+li-2+li-3+li-4)的宽度时,利用JavaScript快速复原left 值为0 。

此时请注意盒子里面数字和颜色的变化!

效果图:

javascript实现多张图片左右无缝滚动效果

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <style media="screen">
  *{
   padding: 0;
   margin: 0;
  }
  ul,li {
   list-style: none;
  }
  img {
   vertical-align: top;
  }
  #box{
   width: 400px;
   height: 100px;
   margin: 100px auto;
   background-color: pink;
   position: relative;
   overflow: hidden;
  }
  #box ul {
   width: 2000px;
   position: absolute;
   left: 0;
   top: 0;
  }
  #box li {
   float: left;
  }
  .aa {
   width: 200px;
   height: 100px;
  }
  .li-1{
   background-color: #f6e659;
  }
  .li-2{
   background-color: #57fa4f;
  }
  .li-3{
   background-color: #3a8ef1;
  }
  .li-4{
   background-color: #c057f1;
  }
 </style>
</head>
<body>
 <div id="box">
  <ul>
   <li class="li-1 aa">li-1</li>
   <li class="li-2 aa">li-2</li>
   <li class="li-3 aa">li-3</li>
   <li class="li-4 aa">li-4</li>
   <li class="li-1 aa">li-5</li>
   <li class="li-2 aa">li-6</li>
  </ul>
 </div>
</body>
</html>
<script type="text/javascript">
 var box = document.getElementById("box");
 var ul = box.children[0];
 var num = 0;
 timer = setInterval(fn,10);
 function fn() {
  num--;
  num <= -800 ? num = 0 : num;
  ul.style.left = num + "px";
 }
</script>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
基于mootools插件实现遮罩层新手引导
May 24 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
Mar 01 Javascript
纯JS实现可拖拽表单的简单实例
Sep 02 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
Feb 12 Javascript
vue项目打包后请求地址错误/打包后跨域操作
Nov 04 Javascript
Vue vee-validate插件的简单使用
Jun 22 Vue.js
tab栏切换原理
Mar 22 #Javascript
js中的DOM模拟购物车功能
Mar 22 #Javascript
js+canvas实现动态吃豆人效果
Mar 22 #Javascript
JavaScript实现星星等级评价功能
Mar 22 #Javascript
discuz表情的JS提取方法分析
Mar 22 #Javascript
详解vue2.0组件通信各种情况总结与实例分析
Mar 22 #Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
Mar 22 #Javascript
You might like
用php或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
angularjs请求数据的方法示例
2019/08/06 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python异常处理try except过程解析
2020/02/03 Python
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
大学生应聘自荐信
2013/10/11 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
影子教师研修方案
2014/06/14 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
教师师德承诺书2016
2016/03/25 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis
Go语言并发编程 sync.Once
2021/10/16 Golang
python程序的组织结构详解
2021/12/06 Python
MySQL去除密码登录告警的方法
2022/04/20 MySQL
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python