常用的vue轮播组件,vue.js轮播图

  常用的vue轮播组件,vue.js轮播图

  本文主要介绍vue j对轮播效果、滚动公告、内聚的简单实现。文章的详细内容围绕主题的相关信息展开,有一定的参考价值,有需要的小伙伴可以参考一下。

  

目录

  分析,初步实现,收敛,完善,所有代码前言:

  滚动容易实现;但是需要联系,所以需要处理。下面主要用vue实现前后连接的功能。

  

分析

  1.需要实现上图的html树形结构;(红色框)要显示的框;然后里面包一个盒子(绿色盒子);绿色框(黄色框)中有多个数据要滚动;2.我们需要看的东西只会显示在红框里;所以需要设置溢出:隐藏超越隐藏;这样,多余的绿框数据就看不到了;3.现在我们打算用定位顶来控制红框中显示的绿框的位置;这样,我们可以展示我们需要的东西;4.用一个计时器让他们动起来;控制定时器的顶部位置-;5.每条内容需要暂停2秒后才能继续滚动;

  

初步实现

  先声明一个变量,用于控制绿框的top,绑定到绿框:

  //html

  div class= list :style= { top:list top px }

  .

  /div

  //数据

  list top:0;

  这里我希望是向上滚动,所以需要控制listTop--;

  setInterval(()={

  this . list top-=1;

  },20)

  现在绿色盒子已经滚动了。

  但我们需要上下贯通,才不会到最后就停止滚动,或者突然跳到最上面。

  

衔接

  为了解决收敛性,我们引入一个想法:

  当滚动到第二个元素时,在元素的末尾插入第一个元素,然后将框的顶部重置为0。

  这样我们只会滚动前两个元素,然后操纵元素的位置,把第一个插入到最后;因为我用vue遍历数组,所以只需要操作数组。同样,原生js是操作dom的。

  //数据

  列表:[1111,2222,3333],

  列表顶部:0,

  //方法

  //假设我把每个元素的高度设为40px

  setInterval(()={

  this . list top-=1;

  if(this.listTop===40){

  this . list . push(this . list . splice(0,1)[0]);//删除数组的第一个元素,并将其插入数组的后面

  this . list top=0;//重置顶部

  }

  },20)

  

完善

  上面已经实现了元素滚动效果。

  但是现在我们需要在继续切换之前显示每个元素2秒钟。这样,控制定时器的执行时间就足够了。

  //数据

  列表:[1111,2222,3333],

  列表顶部:0,

  //方法

  //假设我把每个元素的高度设为40px

  setScroll(){

  var t=setInterval(()={

  this . list top-=1;

  if(this.listTop===-40){

  this . list . push(this . list . splice(0,1)[0]);//删除数组的第一个元素,并将其插入数组的后面

  this . list top=0;//重置顶部

  间隙(t);//取消计时器

  //设置定时器2秒后执行,重新开始滚动。

  setTimeout(()={

  this . set scroll();

  },2000)

  }

  },20)

  }

  

全部代码

  贴上全部代码,以下为vue语法:

  //html

  div class=box

  div class= list :style= { top:list top px }

  div v-for=(item,index) in list :key=index

  {{item}}

  /div

  /div

  /div

  //css。方框{

  高度:40px

  行高:40px

  溢出:隐藏;

  位置:相对;

  }。列表{

  位置:绝对;

  左:0;

  }

  //js

  data(){

  返回{

  列表:[1111,2222,3333],

  列表顶部:0,

  }

  },

  已安装(){

  this . set scroll();

  },

  方法:{

  setScroll(){

  var t=setInterval(()={

  this . list top-=1;

  if(this.listTop===-40){

  this . list . push(this . list . splice(0,1)[0]);//删除数组的第一个元素,并将其插入数组的后面

  this . list top=0;//重置顶部

  间隙(t);//取消计时器

  //设置定时器2秒后执行,重新开始滚动。

  setTimeout(()={

  this . set scroll();

  },2000)

  }

  },20)

  }

  }

  关于vue j简单实现轮播效果,滚动公告,收敛的这篇文章到此为止。更多相关vue融合功能,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: