vue作业

根据按钮颜色改变正方形颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .d1 {
            width: 200px;
            height: 200px;

        }
    </style>
</head>
<body>
<div id="change_color">
        <button @click="f1">蓝色</button>
        <button @click="f2">红色</button>
        <button @click="f3">绿色</button>
    <div class="d1" :style="{backgroundColor:bgc}"></div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: '#change_color',
        data: {
            bgc:'red'
        },
        methods: {
            f1(){
                console.log(this);
                this.bgc='blue'
            },
            f2(){
                this.bgc='red'
            },
            f3(){
                this.bgc='green'
            }
        }
    })

</script>
</html>

点击变色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .wrap {
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="wrap" :style="{backgroundColor: color}" @click="changeColor"></div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            color: 'black',
            count: 0,
            colorArr: ['cyan', 'pink', 'green'] // 保存颜色的映射关系
        },
        methods: {
            changeColor() {
                let n = this.count++;
                this.color = this.colorArr[n % this.colorArr.length];
            }
        }
    })
</script>
</html>

自动旋转变色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box {
            width: 200px;
            height: 200px;
            border: 1px solid black;
            border-radius: 50%;
            overflow: hidden;
            position: relative;
        }

        .b1 {
            background-color: red;
            position: absolute;
        }

        .b2 {
            background-color: green;
            position: absolute;
        }

        .left {
            width: 100px;
            height: 200px;
            left: 0;
        }

        .right {
            width: 100px;
            height: 200px;
            right: 0;
        }

        .top {
            width: 200px;
            height: 100px;
            top: 0;
        }

        .buttom {
            width: 200px;
            height: 100px;
            bottom: 0;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="box" @click="roll">
        <div class="b1" :class="c1"></div>
        <div class="b2" :class="c2"></div>
    </div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
    let app = new Vue({
        el: '#app',
        data: {
            count: 1,
            c1: 'l',
            c2: 'r',
            c1Arr: ['left', 'top', 'right', 'buttom'],
            c2Arr: ['right', 'buttom', 'left', 'top']
        },
        methods: {
            roll() {
                let n = this.count++;
                this.c1 = this.c1Arr[n % 4];
                this.c2 = this.c2Arr[n % 4];
            }
        }
    });
    // 利用定时器自动旋转图像
    setInterval(function () {
        app.roll();
    }, 500)
</script>
</html>
posted @ 2019-12-16 21:37  shinzz  阅读(282)  评论(0编辑  收藏  举报