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 相关文章推荐
拖动table标题实现改变td的大小(css+js代码)
Apr 16 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
May 11 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
购物车前端开发(jQuery和bootstrap3)
Aug 27 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
Nov 01 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
May 07 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
详解TypeScript的基础类型
Feb 18 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
杏林同学录(八)
2006/10/09 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php实现异步数据调用的方法
2015/12/24 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Django实现全文检索的方法(支持中文)
2018/05/14 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
python tkinter基本属性详解
2019/09/16 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
先进个人获奖感言
2014/01/24 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
教师求职信
2014/06/17 职场文书
党员活动总结
2015/02/04 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书