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 相关文章推荐
javascript 节点排序 2
Jan 31 Javascript
js防止表单重复提交实现代码
Sep 05 Javascript
批量修改标签css样式以input标签为例
Jul 31 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
jQuery 和 CSS 的文本特效插件集锦
Dec 12 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
微信小程序实现展示评分结果功能
Feb 15 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
vue移动端城市三级联动组件使用详解
Jul 26 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
一些常用的php函数
2006/12/06 PHP
php 的反射详解及示例代码
2016/08/25 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
2016/07/20 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
JS验证不重复验证码
2017/02/10 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
不可错过的十本Python好书
2017/07/06 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
Python语法分析之字符串格式化
2019/06/13 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
什么是Python变量作用域
2020/06/03 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
一个入门级python爬虫教程详解
2021/01/27 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
会计找工作求职信范文
2013/12/09 职场文书
大学生的网络创业计划书
2013/12/26 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
2014年度安全工作总结
2014/12/04 职场文书
给老婆道歉的话
2015/01/20 职场文书
《鲸》教学反思
2016/02/23 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript