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 相关文章推荐
dess中一个简单的多路委托的实现
Jul 20 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
js 中的switch表达式使用示例
Jun 03 Javascript
jquery事件与函数的使用介绍
Sep 29 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
JS键盘版计算器的制作方法
Dec 03 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 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和MySQL保存和输出图片
2006/10/09 PHP
php开发工具之vs2005图解
2008/01/12 PHP
php 验证码制作(网树注释思想)
2009/07/20 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
为你总结一些php信息函数
2015/10/21 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
javascript判断chrome浏览器的方法
2014/03/26 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
Django自定义认证方式用法示例
2017/06/23 Python
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
Python unittest模块用法实例分析
2018/05/25 Python
python实现二维数组的对角线遍历
2019/03/02 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
html5 canvas-2.用canvas制作一个猜字母的小游戏
2013/01/07 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
卫生安全检查制度
2014/02/04 职场文书
会计与审计专业自荐信范文
2014/03/15 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
企业文化口号
2014/06/12 职场文书
挂职个人工作总结
2015/03/05 职场文书
七个Python必备的GUI库
2021/04/27 Python
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android