js图片无缝滚动插件使用详解


Posted in Javascript onMay 26, 2020

本文实例为大家分享了js图片无缝滚动插件的具体代码,供大家参考,具体内容如下

css

ul {
 list-style: none;
 margin: 0;
 padding: 0;
 }

.slide-img-ul {
 white-space: nowrap;
}

.slide-img-ul>li {
 width: 100px;
 height: 100px;
 margin: 10px;
 display: inline-block;
 vertical-align: middle
}

.slide-img-ul>li>img {
 width: 100%;
 height: 100%;
 max-width: 100%;
 max-height: 100%;
}

html

<div id="slideScroll"></div>
<div id="slideFast"></div>

js

;(function(window , document) {
 function createImg(ele , opt) {
 var def = {
  arrImg: [
  {src:'../img/LOGO.png' , id:'0'},
  {src:'../img/zu.png' , id:'1'},
  {src:'../img/zu.png' , id:'2'},
  {src:'../img/zu.png' , id:'3'},
  {src:'../img/zu.png' , id:'4'},
  ] ,
  currentData: 0, 
  time: 50 //滑动速度
 }
 //为ele添加css样式
 ele.style.width = '240px';
 ele.style.height = '120px';
 ele.style.overflow = 'hidden';
 ele.style.border = '1px solid #eee';
 ele.style.boxShadow = '0 0 8px 2px #eee';
 ele.style.position = 'relative';

 //Object.assign(target , source) 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象 。 返回目标对象。
 var obj = Object.assign(def , opt), 
  _ul = document.createElement('ul'),
  str = '',
  demo

  _ul.setAttribute('class' , 'slide-img-ul') 

 obj.arrImg.map((item , index) => {
  str+='<li><img src='+ item.src+' id='+item.id+'></li>'
 })

 demo=str+str //复制该组图片以达到无缝连接的视觉效果
 _ul.innerHTML = demo 
 ele.appendChild(_ul)

 var myWay = setInterval(function(){calData(_ul)}, obj.time) //定时器

 function calData(element){
  element.style.marginLeft = -(obj.currentData)+'px'
  obj.currentData++
  //(为什么*120 ?)图片总宽度(包括margin)为120px , 当第一组图片刚好溢出父级时 , 父级marginLeft置0;
  if(obj.currentData > obj.arrImg.length*120 ) { 
  obj.currentData = 0;
  }
 }

 ele.onmouseover = function() {
  clearInterval(myWay)
 }

 ele.onmouseout= function() {
  myWay = setInterval(function(){calData(_ul)}, obj.time)
 }
 }

 window.createImg = createImg

 }(window , document))

 window.onload = function() {
 new createImg(document.getElementById('slideScroll'))
 new createImg(document.getElementById('slideFast') ,{time:10})
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ext读取两种结构的xml的代码
Nov 05 Javascript
JS实现简易刻度时钟示例代码
Mar 11 Javascript
javascript深拷贝的原理与实现方法分析
Apr 10 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
原生js实现简单的模态框示例
Sep 08 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
JS实现根据数组对象的某一属性排序操作示例
Jan 14 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
Sep 28 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
js实现简单扫雷
Nov 27 Javascript
JS实现密码框效果
Sep 10 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 #Javascript
微信小程序实现类似微信点击语音播放效果
Mar 30 #Javascript
微信小程序如何访问公众号文章
Jul 08 #Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 #Javascript
JavaScript实现的联动菜单特效示例
Jul 08 #Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
Jul 08 #Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 #Javascript
You might like
NO3第三帝国留言簿制作过程
2006/10/09 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
深入php处理整数函数的详解
2013/06/09 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
JS array 数组详解
2009/03/22 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python中partial()基础用法说明
2018/12/30 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python中Lambda表达式详解
2019/11/20 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
会计电算化个人自我评价
2013/11/17 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
文明社区申报材料
2014/08/21 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
会计求职信怎么写
2015/03/20 职场文书
业务内勤岗位职责
2015/04/13 职场文书
起诉书格式范文
2015/05/20 职场文书
2016党校培训心得体会
2016/01/07 职场文书
七年级作文之游记
2019/12/11 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python