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 相关文章推荐
JQuery的$命名冲突详细解析
Dec 28 Javascript
JSONP之我见
Mar 24 Javascript
JavaScript中的Repaint和Reflow用法详解
Jul 27 Javascript
清除js缓存的多种方法总结
Dec 09 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
May 11 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
Dec 16 Javascript
vue+webpack实现异步组件加载的方法
Feb 03 Javascript
js 计算图片内点个数的示例代码
Apr 04 Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 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
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
php-fpm配置详解
2014/02/12 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
JavaScript 常用函数
2009/12/30 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
[05:31]DOTA2上海特级锦标赛主赛事第三日RECAP
2016/03/05 DOTA
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
Django用户认证系统 User对象解析
2019/08/02 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
大一自我鉴定范文
2013/10/04 职场文书
超市营业员求职简历的自我评价
2013/10/17 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
党校培训自我鉴定
2014/02/01 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
卫生院艾滋病宣传活动小结
2014/07/09 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
毕业设计工作总结
2015/08/14 职场文书
解读Vue组件注册方式
2021/05/15 Vue.js
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python
python如何将mat文件转为png
2022/07/15 Python