vue实现匀速轮播效果


Posted in Javascript onJune 29, 2020

本文实例为大家分享了vue实现匀速轮播效果的具体代码,供大家参考,具体内容如下

vue实现匀速轮播效果

不多描述了 直接代码吧

<template>
 <div>
 <div class="box">
  <ul class="ullist" @mouseleave="clearTimeout" @mouseenter="beginTimeout">
  <li><img src="@/assets/401_images/401.gif" alt="" class="Liwidth"></li>
  <li><img src="@/assets/404_images/404.png" alt=""></li>
  <li><img src="@/assets/401_images/401.gif" alt=""></li>
  <li><img src="@/assets/404_images/404.png" alt=""></li>
  <li><img src="@/assets/401_images/401.gif" alt=""></li>
  <li><img src="@/assets/404_images/404.png" alt=""></li>
  <li><img src="@/assets/401_images/401.gif" alt=""></li>
  <li><img src="@/assets/404_images/404.png" alt=""></li>
  <li><img src="@/assets/401_images/401.gif" alt=""></li>
  </ul>
 </div>
 </div>
</template>
<script>
export default {
 data(){
 return{
  screenWidth:'',
  boxWidth:0,
  isClear:0,
  timer:null,
  left:0,
  timerRun:false,
 }
 },
 methods:{
  //获取窗口的宽度
 getListLeng(){
  this.boxWidth = document.getElementsByClassName('box')[0].offsetWidth
  var ul = document.getElementsByClassName('ullist')[0]
  var length = ul.children.length
  ul.style.width=length*230+'px'
  this.runTimeout(ul,this.boxWidth,length)
 },
 //轮播效果
 runTimeout(ul,boxWidth,length){
  let that = this
  this.timer=setInterval(function(){
  // move();
  
  that.move(ul,boxWidth,length)
  },50) 
 },
 //轮播图走的方法
 move(ul,boxWidth,length){
  var num = this.left--
  var allWidth =length*230-boxWidth
  if(Math.abs(num)>allWidth){
  ul.style.left=0+'px'
  this.left=0
  }
  ul.style.left=num+'px'
 },
 //移入
 beginTimeout(){
  clearInterval(this.timer)
 },
 //移出
 clearTimeout(){
  clearInterval(this.timer)
  this.timer = null
  this.boxWidth = document.getElementsByClassName('box')[0].offsetWidth
  let ul = document.getElementsByClassName('ullist')[0]
  let length = ul.children.length
  ul.style.width=length*230+'px'
  this.runTimeout(ul,this.boxWidth,length)
 } 
 },
 mounted(){
 this.getListLeng()
 window.onresize = () => {
  return (() => {
  this.boxWidth = document.getElementsByClassName('box')[0].offsetWidth
  })()
 },
 getSwiperList().then(res=>{
  this.bannerList = res.data
 })
 },
 //页面销毁的时候 关闭定时器
 destroyed () {
 clearInterval(this.timer)
 }
}
</script>
<style lang="scss" scped>
 .box{
 height:230px;
 width:80%;
 margin: 200px auto;
 position: relative;
 overflow: hidden;
 ul{
  position: absolute;
 }
 li{
  float: left;
  height:230px;
  width:230px;
  img{
  height:230px;
  width:230px;
  }
 }
 }
</style>

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

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

Javascript 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
javascript 常见功能汇总
Jun 11 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 Javascript
探寻JavaScript中this指针指向
Apr 23 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
Jun 02 Javascript
jquery-mobile基础属性与用法详解
Nov 23 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
vant实现购物车功能
Jun 29 #Javascript
js实现随机点名器精简版
Jun 29 #Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 #Javascript
在Vue中使用antv的示例代码
Jun 29 #Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 #Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 #Javascript
JavaScript图片旋转效果实现方法详解
Jun 28 #Javascript
You might like
php FPDF类库应用实现代码
2009/03/20 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
Python程序退出方式小结
2017/12/09 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
解决Python中回文数和质数的问题
2019/11/24 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
《小猫刮胡子》教学反思
2014/02/21 职场文书
公司请假条范文
2014/04/11 职场文书
财务人员担保书
2014/05/13 职场文书
解除财产保全担保书
2014/05/20 职场文书
宣传口号大全
2014/06/16 职场文书
商场周年庆活动方案
2014/08/19 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
工作经验交流材料
2014/12/30 职场文书
撤诉书怎么写
2015/05/19 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL