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 相关文章推荐
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
Apr 01 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
Mar 05 Javascript
jQuery选择器全集详解
Nov 24 Javascript
JavaScript原型继承_动力节点Java学院整理
Jun 30 Javascript
解决VUEX刷新的时候出现数据消失
Jul 03 Javascript
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
JavaScript实现简单动态进度条效果
Apr 06 Javascript
async/await优雅的错误处理方法总结
Jan 30 Javascript
Vue单文件组件开发实现过程详解
Jul 30 Javascript
vue组件实现移动端九宫格转盘抽奖
Oct 16 Javascript
JavaScript实现网页留言板功能
Nov 23 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中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
Nest.js 授权验证的方法示例
2021/02/22 Javascript
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
进程的查看和调度分别使用什么命令
2015/03/25 面试题
餐饮业创业计划书范文
2014/01/06 职场文书
团购业务员岗位职责
2014/03/15 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫