vue移动端轮播图插件,vue.js轮播图

  vue移动端轮播图插件,vue.js轮播图

  这篇文章主要介绍了某视频剪辑软件实现上下层叠轮播图,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  

目录

   上下层叠轮播图原生轮播图(无缝轮播图)

  

上下层叠轮播图

  1.效果

  2.代码

  模板

  div class= article-main @ mouse over= mouse over() @ mouse leave= mouse leave()

  img src=././assets/a3.jpeg :class=v1 /

  img src=././assets/a2.jpeg :class=v2 /

  img src=././assets/a1.jpeg :class=v3 /

  div class=点视图

  div :class=dot1

  /div

  div :class=dot2

  /div

  div :class=dot3

  /div

  /div

   div class= arrow-view v-show=处于活动状态

  img src=././assets/BTN-l-d . png class= arrow-left @ click= to left()/

  img src=././assets/BTN-r-d . png class= arrow-right @ click= to right()/

  /div

  /div

  /模板

  脚本

  导出默认值{

  姓名:家,

  data() {

  返回{

  计时器: ,

  isActive:假的,

  值:1,

  v1:横幅wz1 ,

  v2:横幅wz2 ,

  v3:横幅wz3 ,

  点1:点1 点颜色激活,

  点2:点2点-颜色-正常,

  点3:点-3点-颜色-正常

  }

  },

  方法:{

  toLeft() {

  这个值-

  if (this.value==0) {

  this.value=3

  }

  this.changeClasss()

  },

  toRight() {

  这个值

  如果(本值3) {

  this.value=1

  }

  this.changeClasss()

  },

  mouseOver() {

  this.isActive=true

  清除间隔(这个。定时器);

  },

  //移出

  mouseLeave() {

  this.isActive=false

  这个。timer=setInterval(这个。得到,3000);

  },

  changeClasss() {

  if (this.value==1) {

  this.v1=banner wz1

  this.v2=banner wz2

  this.v3=banner wz3

  这个。dot 1= dot-1 dot-color-active

  这个. dot2=dot-2点-颜色-正常

  这个。dot3= dot-3点颜色正常

  }

  if (this.value==2) {

  this.v1=banner wz2

  this.v2=banner wz3

  this.v3=banner wz1

  这个。dot1= dot-1点-颜色-正常

  这个. dot2=dot-2点颜色激活

  这个。dot3= dot-3点颜色正常

  }

  if (this.value==3) {

  this.v1=banner wz3

  this.v2=banner wz2

  this.v3=banner wz1

  这个。dot1= dot-1点-颜色-正常

  这个. dot2=dot-2点颜色正常

  这个。dot 3= dot-3 dot-color-active

  }

  },

  get() {

  这个值

  如果(本值3) {

  this.value=1

  }

  this.changeClasss()

  }

  },

  已安装(){

  这个。timer=setInterval(这个。得到,3000);

  },

  销毁前(){

  清除间隔(这个。定时器);

  },

  }

  /脚本

  样式范围。向左箭头{

  位置:绝对;

  左:20px

  顶配:250像素

  光标:指针;

  }。向右箭头{

  位置:绝对;

  左:280像素

  顶配:250像素

  光标:指针;

  }。文章-主页{

  宽度:320像素

  高度:300像素

  背景色:# aaffff

  位置:相对;

  }。横幅{

  边框-半径:4px

  位置:绝对;

  过渡:全1;

  }。wz1 {

  宽度:280像素

  高度:200像素

  左:20px

  z指数:777;

  top:20px;

  }。wz2 {

  宽度:290像素

  高度:200像素

  左:15px

  顶配:30px

  z指数:888;

  }。wz3 {

  宽度:300像素

  高度:200像素

  左:10px

  top:40px;

  z指数:999;

  }。点视图{

  位置:绝对;

  左:120像素

  顶配:255像素

  显示器:flex

  弯曲方向:行;

  }。点颜色激活{

  背景色:# ff0000

  }。点-颜色-正常{

  背景色:# 333;

  }。点1 {

  宽度:10px

  高度:10px

  边界半径:50%;

  }。点-2 {

  宽度:10px

  高度:10px

  边界半径:50%;

  左边距:20px

  }。点-3 {

  左边距:20px

  宽度:10px

  高度:10px

  边界半径:50%;

  }

  /风格

  

原生轮播图(无缝轮播图)

  效果图

  模板

  差异

  div class=swiper

  ul ref=swiper class=swipero

  li v-for=(item,index) in items :key=index

  div v-text=item.name/div

  /李

  /ul

  /div

  div @click=preNext()下一页/div

  div @click=preLast()上一页/div

  /div

  /模板

  脚本

  导出默认值{

  data() {

  返回{

  项目:[

  { id: 1,姓名: 1 },

  { id: 1,姓名: 2 },

  { id: 1,姓名: 3 },

  ],

  计时器:空,

  活动:0,

  标志:真的,

  };

  },

  已安装(){

  这个。init();

  },

  方法:{

  //初始化克隆一个元素,用来解决视觉差的效果(瞬移)

  init() {

  让swiper=这个refs.swiper

  let first=swiper。firstelementchild。克隆节点(true);

  斯威珀。appendchild(第一个);

  },

  //下一页

  下一个(){

  让swiper=这个refs.swiper

  //判断是否是最后一个

  //调试器;

  如果(这个参考文献。斯威珀。孩子。长度-2=这个。活动){

  //调试器

  setTimeout(()={

  让swiper=这个refs.swiper

  这个。active=0;

  斯威珀。风格。transition=“none”;

  斯威珀。风格。左=-200 *这个。活动的“px”;

  }, 500);

  }

  this.active

  斯威珀。风格。transition= all。5s’;

  斯威珀。风格。左=-200 *这个。活动的“px”;

  },

  //上一页

  pre() {

  让swiper=这个refs.swiper

  //判断是否是第一个,线瞬间移动到最后,然后再实现动画效果

  if (this.active==0) {

  让len=这个参考文献。斯威珀。孩子。长度;

  这个。active=len-1;

  //调试器

  斯威珀。风格。transition=“none”;

  斯威珀。风格。左=-200 *这个。活动的“px”;

  setTimeout(()={

  这个。active=len-2;

  斯威珀。风格。transition= all。5s’;

  斯威珀。风格。左=-200 *这个。活动的“px”;

  }, 300);

  }否则{

  这个。主动-;

  斯威珀。风格。transition= all。5s’;

  斯威珀。风格。左=-200 *这个。活动的“px”;

  //这个。swiper();

  }

  },

  //节流

  油门(回调,速度=3000) {

  让自我=这个;

  if (self.flag) {

  清除超时(这。定时器);

  self.timer=setTimeout(()={

  回调();

  self.flag=true

  },速度);

  }

  this.flag=false

  },

  //下一页(节流)

  preNext() {

  this.throttle(this.next,1000);

  },

  //上一页(节流)

  preLast() {

  this.throttle(this.pre,1000);

  },

  //自动轮播

  swiper() {

  让自我=这个;

  setInterval(()={

  自我。pre();

  }, 3000);

  },

  },

  };

  /脚本

  style lang=less 范围。swiper {

  宽度:200像素

  高度:200像素

  溢出:隐藏;

  位置:相对;

  ul {

  位置:绝对;

  底部:0;

  左:0;

  宽度:100vw

  空白:nowrap

  李{

  宽度:200像素

  高度:200像素

  显示:内嵌-块;

  垂直对齐:底部;

  位置:相对;

  //边距-右侧:20px

  过渡:全0.5s

  部门{

  宽度:100%;

  身高:100%;

  }

  :第n个孩子(1) {

  背景色:海蓝宝石;

  }

  :第n个孩子(2) {

  背景色:rgb(255,204,127);

  }

  :第n个孩子(3) {

  背景色:rgb(255,127,144);

  }

  :第n个孩子(4) {

  背景色:rgb(127,255,223);

  }

  }。活动{

  宽度:400像素

  高度:400像素

  }

  }

  }

  /风格

  以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

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

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