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 相关文章推荐
用js实现手把手教你月入万刀(转贴)
Nov 07 Javascript
Function.prototype.call.apply结合用法分析示例
Jul 03 Javascript
extjs render 用法介绍
Sep 11 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
js读写json文件实例代码
Oct 21 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
微信小程序生成二维码的示例代码
Mar 29 Javascript
js实现弹框效果
Mar 24 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+DBM的同学录程序(4)
2006/10/09 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
php 浮点数比较方法详解
2017/05/05 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
python操作mysql代码总结
2018/06/01 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
车间调度岗位职责
2013/11/30 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
个人务虚会发言材料
2014/10/20 职场文书
青年教师听课心得体会
2016/01/15 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL