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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
htm调用JS代码
Mar 15 Javascript
jQuery $.data()方法使用注意细节
Dec 31 Javascript
javaScript对文字按照拼音排序实现代码
Dec 27 Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
Feb 20 Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 Javascript
Vue使用NPM方式搭建项目
Oct 25 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
网页自动跳转代码收集
2009/09/27 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
python 实现UTC时间加减的方法
2018/12/31 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
英文演讲稿
2014/05/15 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
公证书格式
2015/01/23 职场文书
解约证明模板
2015/06/19 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA