作业一:有红黄蓝三个按钮,以及一个200*200矩形box,点击不同按钮,box的颜色会被切换为指定的颜色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div id="app">

    <div :style="div_style"></div>
    <div>
        <button v-on:click="changeColor('red')">{{ red }}</button>
        <button v-on:click="changeColor('yellow')">{{ yellow }}</button>
        <button v-on:click="changeColor('blue')">{{ blue }}</button>
    </div>
</div>

</body>
<script src="Vue/vue.js"></script>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            div_style: {
                width: "200px",
                height: "200px",
                backgroundColor: "black"
            },
            red: '点击变红',
            yellow: '点击变黄',
            blue: '点击变蓝',
        },
        methods: {
            changeColor(c) {
                this.div_style.backgroundColor = c;
            }
        }
    })
</script>
</html>

作业二:有一个200*200的矩形wrap框,点击wrap本身,记录点击次数,如果是1次wrap为pink色,2次wrap为green,3次warp为cyan色,4次重新回到pink色,一次类推。


<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        .wrap{            width: 200px;            height: 200px;            color: white;            font: bold 50px/200px 'STSong';            text-align: center;            user-select: none;        }    </style></head><body><div id="app">    <div class="wrap" @click="actionFn" :style="{backgroundColor:bgColor}">{{content}}</div></div></body><script src="js/vue.js"></script><script>    new Vue({        el:'#app',        data:{            content:0,            bgColor:'black',            colorArr:['cyan','pink','green'],        },        methods:{            actionFn(){                this.content ++;                this.bgColor=this.colorArr[this.content % 3]            }        }    })

</script>

</html>

作业三:

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

        .red, .green {
            width: 100px;
            height: 200px;
            position: absolute;
        }

        .red {
            background-color: red;
        }

        .green {
            background-color: green;
        }

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

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

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

        .b {
            width: 200px;
            height: 100px;
            bottom: 0;
        }
    </style>
</head>
<body>
<div id="app">
    <div class="wrap" @click="actionFn">
        <div class="red" :class="red_class"></div>
        <div class="green" :class="green_class"></div>
        <div></div>
    </div>
</div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            count: 0,
            red_class: 'l',
            green_class: 'r',
            red_attr: ['l', 't', 'r', 'b'],
            green_attr: ['r', 'b', 'l', 't'],
        },
        methods: {
            actionFn() {
                this.count ++;
                this.red_class = this.red_attr[this.count % 4];
                this.green_class = this.green_attr[this.count % 4];
            }
        }
    })

</script>
</html>

第三题的第二问:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    <form action="" style="margin: 20px;">
        <p @click="tag" :style="{width: w,height: h, background: bgc, borderRadius:rad}"></p>
    </form>
</div>

</body>
<script src="Vue/vue.js"></script>
<script>
    let num = 0;
    let app = new Vue({
        el:'#app',
        data:{
            h: '200px',
            w: '200px',
            bgc: 'linear-gradient(to top, red 50%, green 50%)',  //实现页面的过度(颜色)
            rad: '50%'
            },
        methods:{
            tag () {
                num += 1;
                if (num==1){
                    this.bgc = 'linear-gradient(to top, red 50%, green 50%)' // 控制方向
                }else {if (num==2){
                    this.bgc = 'linear-gradient(to left, red 50%, green 50%)'
                }else {if (num==3) {
                    this.bgc = 'linear-gradient(to bottom,red  50%, green 50%)'
                }else {
                    this.bgc = 'linear-gradient(to right, red 50%, green 50%)';
                    num = 0
                }
                }}
            }
        }
    });
    function funcTest(){
    window.setInterval(app.tag,500);  // 按照指定的周期(以毫秒计)来调用函数
}
    window.onload = funcTest;  // 页面加载完直接调用 该方法
</script>
</html>

VUE-练习的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  6. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  7. 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库

    应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...

  8. Vue.js 2.0 和 React、Augular等其他框架的全方位对比

    引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  10. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

随机推荐

  1. createjs小游戏开发总结

    createjs缩放,html组件input的缩放,transform位置,缩放,字体的大小. 移动端横屏和竖屏幕旋转屏幕自适应,input弹出软键盘的原理和位置偏移,focus,blur弹出软键盘. ...

  2. ip地址查询python3小工具_V0.0.1

    看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可 ...

  3. Confluence与Jira安装及后期迁移问题记录

    Confluence与Jira 由于线上jira和confluence之前互相关联,confluence的登录用户全部关联自jira的用户,confluence安装时会提示是否关联jira,由于这个问 ...

  4. Java的四层结构dto、dao、service、controller

    首先,最底层的就是dto层,dto层就是所谓的model,dto中定义的是实体类,也就是.class文件,该文件中包含实体类的属性和对应属性的get.set方法:<bean> 其次,是da ...

  5. FFmpeg4.0笔记:封装ffmpeg的解封装功能类CDemux

    Github https://github.com/gongluck/FFmpeg4.0-study/tree/master/Cff CDemux.h /*********************** ...

  6. spark算子篇-repartition and coalesce

    我们知道 RDD 是分区的,但有时候我们需要重新设置分区数量,增大还是减少需要结合实际场景,还有可以通过设置 RDD 分区数来指定生成的文件的数量 重新分区有两种方法:repartition and ...

  7. PHP 协程:Go + Chan + Defer

    Swoole4为PHP语言提供了强大的CSP协程编程模式.底层提供了3个关键词,可以方便地实现各类功能. Swoole4提供的PHP协程语法借鉴自Golang,在此向GO开发组致敬 PHP+Swool ...

  8. 使用Iview时候 报:no-parsing-error Parsing error: x-invalid-end-tag 解决办法

    解决办法有两种解决办法: 1.MenuItem修改为:menu-item 2.在根目录下 .eslintrc.js 文件 rules 下添加: "vue/no-parsing-error&q ...

  9. centos 服务器 发开防火墙端口

    一.概述 在服务器上手动安装了某个软件,需要通过外部访问该软件(有对外开放端口),但是此时访问不通,此时检查,发现是该端口没有在防火墙开放,因此外界访问不了该服务器上的该软件对外提供的功能,基于此,需 ...

  10. How to enable remote connections to SQL Server

    <img src="https://miro.medium.com/max/1400/1*18lrHvJ8YtADJDT7hxIThA.jpeg" class="g ...