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 使td内容不换行不撑开
Nov 29 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
Jun 18 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
EasyUI实现二级页面的内容勾选的方法
Mar 01 Javascript
JavaScript实现Flash炫光波动特效
May 14 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
JS实现动态生成html table表格的方法分析
Jul 11 Javascript
浅谈React之状态(State)
Sep 19 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 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
杏林同学录(七)
2006/10/09 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python 字典套字典或列表的示例
2019/12/16 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
小孩百日宴答谢词
2014/01/15 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
付款证明格式范文
2015/06/19 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL