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 相关文章推荐
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
cument.execCommand()用法深入理解
Dec 04 Javascript
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
jQuery知识点整理
Jan 30 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 Javascript
get  post jsonp三种数据交互形式实例详解
Aug 25 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
vue源码中的检测方法的实现
Sep 26 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
Nov 20 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
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中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
Javascript之String对象详解
2016/06/08 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python学习之asyncore模块用法实例教程
2014/09/29 Python
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
大学生党员自我批评
2014/02/14 职场文书
小学安全教育材料
2014/02/17 职场文书
商业项目策划方案
2014/06/05 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
小学教师党员承诺书
2015/04/27 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电