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 相关文章推荐
javascript类继承机制的原理分析
Sep 12 Javascript
javascript 正则替换 replace(regExp, function)用法
May 22 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
Javascript Objects详解
Sep 04 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
javascript表单正则应用
Feb 04 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
vue使用axios上传文件(FormData)的方法
Apr 14 Javascript
JavaScript中reduce()的用法
May 11 Javascript
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获取中英混合字符串长度的方法
2014/06/07 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
2010/03/01 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
AngularJS实现表单验证
2015/01/28 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
Python中__new__与__init__方法的区别详解
2015/05/04 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python中threading开启关闭线程操作
2020/05/02 Python
python访问hdfs的操作
2020/06/06 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
家长通知书教师评语
2014/04/17 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
2014年工会工作总结
2014/11/12 职场文书
教师个人自我评价
2015/03/04 职场文书
2015年团支书工作总结
2015/04/03 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP