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获取路径设计源码
May 22 Javascript
jquery结合CSS使用validate实现漂亮的验证
Jan 29 Javascript
js验证上传图片的方法
May 12 Javascript
javascript与Python快速排序实例对比
Aug 10 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
Oct 27 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
Jun 29 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
vue动态绘制四分之三圆环图效果
Sep 03 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
Jan 07 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
js简易版购物车功能
2017/06/17 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
JS函数本身的作用域实例分析
2020/03/16 Javascript
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
python调用外部程序的实操步骤
2019/03/04 Python
python生成任意频率正弦波方式
2020/02/25 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
python访问hdfs的操作
2020/06/06 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
卖房协议书
2014/04/11 职场文书
小学班主任评语大全
2014/04/23 职场文书
2016年母亲节广告语
2016/01/28 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
Django对接elasticsearch实现全文检索的示例代码
2021/08/02 Python
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis