vue上的简单轮播图

好久没写轮播图了,今天在vue上写了个超简单的,效果还ok。

.moveLeft{position:relative;right:ZOOMpx;transition:all 1s;}

  原理是滚动时利用.moveLeft向左移动一个格子,造成滚动的假象,此时第二张图在第一个格子的位置;

  这时候把第一个格子 li 的元素摘下接到 ul 末尾,并马上撤掉.moveLeft。每张图都在自己的格子上。

  定时器循环该操作,一直轮播。可以用touch事件添加touchmove左右滑动效果和切换图片的功能,就不赘述了。

HTML:

<ul id="post_u">
<li class="post_i" v-for="pic in postset" :key="pic.id" :class="{moveLeft:moveLeft}">
<img :src="pic.src" >
</li>

</ul>

JS:

 1     mounted(){
 2             this.loaded();
 3     },
 4   data () {
 5     return {
 6         postset:[{src:"./src/img/1.jpg",id:"1"},{src:"./src/img/2.jpg",id:"2"},{src:"./src/img/13.png",id:"3"},{src:"./src/img/4.jpg",id:"4"}],
 7
 8         moveLeft:false
 9
10     };
11   },
12 methods:{
13       loaded () {
14           var vm=this;
15           var run = function() {
16
17               vm.moveLeft=true;
18               setTimeout(function(){
19                   vm.postset.push(vm.postset.shift());
20                   vm.moveLeft=false;
21                   setTimeout(function(){
22                       run();
23                   },5000);
24  1             },5000)
25
26           }
27           setTimeout(function(){
28               run();
29           },1000)
30   }
31 }

CSS:

 1     #post_u{
 2
 3         //position:relative;
 4         width:400%;
 5         height:100%;
 6         overflow:hidden;
 7         .post_i{
 8             position:relative;
 9             right:0%;
10             width:25%;
11             height:100%;
12             overflow:hidden;
13             float:left;
14             display:inline-block;
15         }
16     }
17         #post_u .post_i.moveLeft{
18             position:relative;
19             transition:right 1s;
20             right:25%;
21         }    
时间: 2025-01-22 13:22:50

vue上的简单轮播图的相关文章

原生js简单轮播图 代码

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

vue使用插件做轮播图

vue使用 vue-awesome-swiper制作轮播图. 1.访问github,搜索vue-awesome-swiper,查看用法. 第一个坑:github居然访问不了. 解决办法:参考别人 https://www.cnblogs.com/Owen-ET/p/10868620.html 其实访不访问都没关系,照着下面步骤来就可以了. 2.安装 vue-awesome-swiper指定版本 第二个坑:必须用这个版本,要不然后面很多bug了. npm i [email protected] --

vue element 框架 自定义轮播图,点击上下翻图,并让图片居中

1.素材展示窗口,左侧预览滚动区域按分辨率做一屏最大预览数量做均分(超过最大预览数量是滚动条滑动) 2.左侧预览滚动区域增加浅灰色底色要求与滚动条颜色区分 3.预览滚动区域单个区域高度固定,素材图按比例缩放 4.素材图展示大图上下顶部及底部区域增加上下翻页箭头,点击有按压效果 5.预览的素材大图为左侧预览区域居中的素材,上下翻页,滚动区域居中素材跟随翻滚  以上是需求,下面贴代码 轮播图效果 template 1 <el-dialog class="material-dialog"

使用vue的v-show和transition制作一个简单轮播图

<template> <!--轮播图--> <div class="carousel-wrap" id="carousel"> <transition-group tag="ul" class='slide-ul' :name="transitionName"> <li v-for="(list,index) in slideList" :key=&qu

手把手原生js简单轮播图

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

(新手向)基于Bootstrap的简单轮播图的手机实现

个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先是本地站点搭建:win+R输入mmc打开控制台,文件-添加/删除管理单元,Internet信息服务.添加确定,右侧基本信息,新建网站-把路径改了.设定一个端口号,手机浏览器就可以输入  电脑局域网ip:端口号 就可以连上去了. 接下来问题来了,一个个点击查看然后关闭图片是一件更不环保的事.何不做一个

js写的简单轮播图

这个轮播图代码是从网上找来的,专门找了个写法简单的,只是作为一个小练习,大概原理如下: 1.首先是图片切换2.自动播放3.调用自动播放4.移动到容器上边停止播放,离开自动播放5.移动到导航上停止播放,离开自动播放6.移动到导航上,切换相对应的导航 然后贴代码: <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Docume

原生js写简单轮播图方式1-从左向右滑动

轮播图就是让图片每隔几秒自动滑动,达到图片轮流播放的效果.轮播图从效果来说有滑动式的也有渐入式的,滑动式的轮播图就是图片从左向右滑入的效果,渐入式的轮播图就是图片根据透明度渐渐显示的效果,这里说的是实现第一种效果的方法. 原理 相同大小的图片并成一列,但只显示其中一张图片,其余的隐藏,通过修改left值来改变显示的图片.点击查看效果 html部分 nav为总容器,第一个ul列表#index为小圆点列表,鼠标覆盖哪个小圆点就显现第几张图片,on是一个给小圆点添加背景颜色属性的类:第二个ul列表#i

简单轮播图

(一)html: <title>jquery实现轮播图</title> <link rel="stylesheet" href="icon/iconfont.css"> <div id="slider"> <img src="img/1.jpg" style="display:block;"> <img src="img/2.jpg