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 学习之旅 (3)
Feb 05 Javascript
JavaScript函数获取事件源的小例子
May 14 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
node.js中的fs.utimes方法使用说明
Dec 15 Javascript
JavaScript设置获取和设置属性的方法
Mar 04 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
利用express启动一个server服务的方法
Sep 17 Javascript
Vue-cli3简单使用(图文步骤)
Apr 30 Javascript
layui实现三级联动效果
Jul 26 Javascript
Vuex实现购物车小功能
Aug 17 Javascript
js+h5 canvas实现图片验证码
Oct 11 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
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
python实现封装得到virustotal扫描结果
2014/10/05 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
生日宴会答谢词
2014/01/09 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
党员民主生活会材料
2014/12/15 职场文书
体育活动总结
2015/02/04 职场文书
测量员岗位职责
2015/02/14 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技