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 动态添加表格行
Jun 22 Javascript
常用的JavaScript验证正则表达式汇总
Nov 26 Javascript
关于Javascript作用域链的八点总结
Dec 06 Javascript
20分钟打造属于你的Bootstrap站点
Jul 27 Javascript
vue v-on监听事件详解
May 17 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
Jun 08 Javascript
Vue组件通信实践记录(推荐)
Aug 15 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
axios 处理 302 状态码的解决方法
Apr 10 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
Jul 24 Javascript
用VsCode编辑TypeScript的实现方法
May 07 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
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 常见郁闷问题答解
2006/11/25 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
React中的render何时执行过程
2018/04/13 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
python Django框架实现自定义表单提交
2016/03/25 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
对Python3 序列解包详解
2019/02/16 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
服装设计专业毕业生推荐信
2013/11/09 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
消防宣传标语大全
2015/08/03 职场文书
汶川大地震感悟
2015/08/10 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
《中彩那天》教学反思
2016/02/24 职场文书