vue 图片轮播-无缝渐变

效果展示

轮播
html
<div class="login_img">
    <transition-group tag='ul' name='img'>
    <li v-for='(image,index) in imgs' :key='index' v-show='index===mark'>
        <div class="divImg" :style="{backgroundImage: 'url('+image+')'}"></div>
    </li>
    </transition-group>
</div>
css
*{
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}
.login_img ul li {
    position: absolute;
}
.login_img .divImg {
    background-position: 0px;
    background-size: cover;
    background-repeat: no-repeat;
    width: 700px;
    height: 400px;
}
.img-enter-active,.img-leave-active {
    transition: all 4s;
}
.img-enter,.img-leave-to {
    opacity: 0;
}
.img-enter-to,.img-leave {
    opacity: 1;
}

js
var app = new Vue({
    el: "#app",
    data: {
        mark: 0,
        imgs: [
            '../assets/img/bg.jpg',
            '../assets/img/bg2.jpg',
            '../assets/img/bg3.jpg'
        ]
    },
    created() {
        this.play()
    },
    methods: {
        autoPlay() {
            if(this.mark<this.imgs.length-1){
                this.mark++;
            }else{
                this.mark = 0;
            }
        },
        play() {
            setInterval(this.autoPlay, 3000)
        }
    }
});

vue中用到了transition标签:关于transition

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,895评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,861评论 1 92
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,094评论 0 29
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 1,192评论 0 1
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,268评论 0 6