超简洁原生js结合Vue的星星评分源码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

    #app {
        width: 1000px;
        height: 200px;
        overflow: hidden;
    }

    li {
        width: 200px;
        height: 200px;
        border: 1px solid red;
        box-sizing: border-box;
        float: left;
    }

    .select {
        background: pink;
    }

    li {
        list-style: none;
    }
</style>

<body>
    <!-- style=" margin-left: 500px;" -->
    <ul id="app">
        <li v-for="(item,index) in list" @mouseover="move(index)" @mouseout="out()" @click="handleClick(index)"
            :class="flag>=index?'select':''">
            <p>key:{{index}}</p>
            <p>flag:{{flag}}</p>
            <p>cur:{{cur}}</p>
            <p>{{flag>=index}}</p>
        </li>


    </ul>
</body>

</html>

<script>

    var app = new Vue({
        el: '#app',
        data: {
            flag: -1,
            cur: -1,
            list: [{
                number: 0
            }, {
                number: 1
            }, {
                number: 2
            }, {
                number: 3
            }, {
                number: 4
            }]

        },
        methods: {
            handleClick(i) {
                this.cur = i
            },
            move(i) {
                console.log(i)
                this.flag = i
            },
            out() {
                this.flag = -1
                if (this.cur == -1) {

                    console.log("用户没有点击")

                } else {
                    this.flag = this.cur
                }
                // if (this.cur !== -1) {
                //     this.flag = this.cur
                // } else {
                //     this.flag = -1

                // }
            }
        },

    })

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值