美文网首页Vue.js专区程序员
vue实例:标语大作战

vue实例:标语大作战

作者: 闲睡猫 | 来源:发表于2018-07-01 21:32 被阅读24次

京东与苏宁大战时,涌现了很多有意思的标语,本篇用vue实现两家的标语作战例子。效果如下:

效果图

具体代码

代码解析:

<div id="app">
    <div class="one">
        <h3 class="text-danger">{{ msg1 }}</h3>
        <div>
            <!-- 绑定点击事件, 对应于vue实例 methods 中的 start 方法 -->
            <button class="btn btn-danger" @click="start(1)">启动</button>
            <button class="btn btn-danger col-lg-offset-2" @click="stop(1)">停止</button>
        </div>
    </div>
    <br>
    <br>
    <div class="two">
        <h3 class="text-success">{{ msg2 }}</h3>
        <div>
            <button class="btn btn-success" @click="start(2)">start</button>
            <button class="btn btn-success col-lg-offset-2" @click="stop(2)">stop</button>
        </div>
    </div>
</div>
let vm = new Vue({
    el: "#app",
    data: {
        msg1: '又是一年双十一,干倒苏宁小猫咪!',
        msg2: '某东若是真的强,头条何须老板娘~~~',
        intervalId1: null, // 定时器
        intervalId2: null,
    },
    methods: {
        start(num) {
            let intervalId = 'intervarId' + num;
            let msg = 'msg' + num;

            // 判断是否正是运行,防止开启多个定时器
            if (this[intervalId] != null) {
                return;
            }
            
            // 设置定时器
            this[intervalId] = setInterval(() => {
                // 跑马灯效果:截取第一个字符拼接到最后一个字符
                let start = this[msg].substring(0, 1);
                let end = this[msg].substring(1);
                this[msg] = end + start;
            }, 300)
        },
        stop(num) {
            // 清除定时器
            let intervalId = 'intervarId' + num;
            clearInterval(this[intervalId]);
            this[intervalId] = null;
        }
    }
})
标语大作战

如想了解更多的vue实例,请查阅我的vue笔记目录

相关文章

  • 实例学习vue.js目录

    目录 入门篇 初识vue vue基础指令 vue实例:标语大作战 事件修饰符 双向数据绑定 使用v-for遍历数据...

  • vue实例:标语大作战

    京东与苏宁大战时,涌现了很多有意思的标语,本篇用vue实现两家的标语作战例子。效果如下: 具体代码 代码解析: 如...

  • 第3章 Vue 基础精讲

    3-1 Vue实例 vue实例是根实例,组件也是vue实例,所以说页面是由很多vue实例组成的data(): 以d...

  • vue基础知识

    new Vue() 创建 Vue 实例,其中 Vue.components() 也可以创建 Vue 实例。 Vue...

  • vue实例

    Vue实例化 1.创建一个Vue实例 通过Vue构造函数new 一个新的vue实例, 当你创建一个vue实例,你可...

  • Vue.js学习笔记(2)

    Vue 实例 创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的:...

  • Vue.js 数据绑定、指令、事件

    Vue 实例和数据绑定 通过构造函数 Vue 就可以创建一个 Vue 的根实例,并启动 Vue 应用。Vue 实例...

  • vue实例和数据绑定

    vue实例和数据绑定 vue实例和数据绑定 通过script便签引入vue 通过vue构造函数来创建一个vue实例...

  • Vue引入、指令、挂载点、模板、实例和绑定事件

    Vue实例 创建一个Vue实例,每个Vue应用都是通过 Vue 函数创建一个新的Vue实例 开始的:var vm ...

  • Vue实例与模板语法

    Vue实例 新建一个Vue实例 每个Vue应用都是通过Vue函数创建一个新的Vue实例开始的:let data =...

网友评论

    本文标题:vue实例:标语大作战

    本文链接:https://www.haomeiwen.com/subject/vvyhuftx.html