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题目,重写函数让其无限相加
Feb 15 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
javascript轻量级模板引擎juicer使用指南
Jun 22 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
js实现延迟加载的方法
Jun 24 Javascript
jQuery移动web开发中的页面初始化与加载事件
Dec 03 Javascript
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
Sep 23 Javascript
vue中使用elementUI组件手动上传图片功能
Dec 13 Javascript
Vue中避免滥用this去读取data中数据
Mar 02 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
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php数组合并的二种方法
2014/03/21 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
2018/10/31 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Django框架模板用法入门教程
2019/11/04 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
英国日常交易网站:Wowcher
2018/09/04 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
幼儿园开学寄语
2014/04/03 职场文书
专家推荐信模板
2014/05/09 职场文书
户外宣传策划方案
2014/05/25 职场文书
老干部工作先进事迹
2014/08/17 职场文书
学习保证书100字
2015/02/26 职场文书
结婚纪念日感言
2015/08/01 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server