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 相关文章推荐
Track Image Loading效果代码分析
Aug 13 Javascript
javascript 匿名函数的理解(透彻版)
Jan 28 Javascript
javascript中创建对象的三种常用方法
Dec 30 Javascript
js 操作select与option(示例讲解)
Dec 20 Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
Aug 05 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
JavaScript实现星级评分
Jan 12 Javascript
angular实现spa单页面应用实例
Jul 10 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
vue.js实现的绑定class操作示例
Jul 06 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 06 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
一个PHP的String类代码
2010/04/20 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
Javascript typeof 用法
2008/12/28 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
Python制作动态字符图的实例
2019/01/27 Python
Python3.6+selenium2.53.6自动化测试_读取excel文件的方法
2019/09/06 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
团日活动总结报告
2014/06/25 职场文书
科技活动周标语
2014/10/08 职场文书
行政前台岗位职责
2015/04/16 职场文书
好人好事新闻稿
2015/07/17 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python
戴尔Win11系统no bootable devices found解决教程
2022/09/23 数码科技