vue實(shí)現(xiàn)五角星評(píng)分功能

這段時(shí)間做項(xiàng)目毫蚓,看到有需求不用字體圖標(biāo)的五角星占键,只能用圖片的,百度一下元潘,畔乙,感覺(jué)不錯(cuò)正好拿來(lái)收藏。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>星星打分</title>
</head>
<body>

    <div id="app" class="row">
        <div class="form-group clearfix">
            <label class="control-label col-md-4">星星數(shù)量:{{starNum}}分</label>
            <div class="col-md-8">
                <div class="grade-box">
                    <img v-for="(star,index) in stars" v-bind:src="star.src" v-on:click="rating(index)" alt="星星圖片" />
                </div>
            </div>
        </div>
    </div>

    <script src="vue.js"></script>
    <script>
        //星星的圖片路徑
        var starOffImg = "img/starOff.png";
        var starOnImg = "img/starOn.png";

        var app = new Vue({
            el: "#app",
            data: {
                stars: [{
                        src: starOffImg,
                        active: false
                    }, {
                        src: starOffImg,
                        active: false
                    }, {
                        src: starOffImg,
                        active: false
                    },
                    {
                        src: starOffImg,
                        active: false
                    }, {
                        src: starOffImg,
                        active: false
                    }
                ],
                starNum: 0,
            },
            methods: {
                //評(píng)分
                rating: function(index) {
                    var total = this.stars.length; //星星總數(shù)
                    var idx = index + 1; //這代表選的第idx顆星-也代表應(yīng)該顯示的星星數(shù)量
                    //進(jìn)入if說(shuō)明頁(yè)面為初始狀態(tài)
                    if(this.starNum == 0) {
                        this.starNum = idx;
                        for(var i = 0; i < idx; i++) {
                            this.stars[i].src = starOnImg;
                            this.stars[i].active = true;
                        }
                    } else {
                        //如果再次點(diǎn)擊當(dāng)前選中的星級(jí)-僅取消掉當(dāng)前星級(jí)柬批,保留之前的啸澡。
                        if(idx == this.starNum) {
                            for(var i = index; i < total; i++) {
                                this.stars[i].src = starOffImg;
                                this.stars[i].active = false;
                            }
                        }
                        //如果小于當(dāng)前最高星級(jí),則直接保留當(dāng)前星級(jí)
                        if(idx < this.starNum) {
                            for(var i = idx; i < this.starNum; i++) {
                                this.stars[i].src = starOffImg;
                                this.stars[i].active = false;
                            }
                        }
                        //如果大于當(dāng)前星級(jí)氮帐,則直接選到該星級(jí)
                        if(idx > this.starNum) {
                            for(var i = 0; i < idx; i++) {
                                this.stars[i].src = starOnImg;
                                this.stars[i].active = true;
                            }
                        }
                        var count = 0; //計(jì)數(shù)器-統(tǒng)計(jì)當(dāng)前有幾顆星
                        for(var i = 0; i < total; i++) {
                            if(this.stars[i].active) {
                                count++;
                            }
                        }
                        this.starNum = count;
                    }
                },
            }
        })
    </script>
</body>

</html>

原文鏈接:https://blog.csdn.net/qq_16371909/article/details/79352348

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市洛姑,隨后出現(xiàn)的幾起案子上沐,更是在濱河造成了極大的恐慌,老刑警劉巖楞艾,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件参咙,死亡現(xiàn)場(chǎng)離奇詭異龄广,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蕴侧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門择同,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人净宵,你說(shuō)我怎么就攤上這事敲才。” “怎么了择葡?”我有些...
    開(kāi)封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵紧武,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我敏储,道長(zhǎng)阻星,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任已添,我火速辦了婚禮妥箕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘更舞。我一直安慰自己矾踱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布疏哗。 她就那樣靜靜地躺著呛讲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪返奉。 梳的紋絲不亂的頭發(fā)上贝搁,一...
    開(kāi)封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音芽偏,去河邊找鬼雷逆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛污尉,可吹牛的內(nèi)容都是我干的膀哲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼被碗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼某宪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起锐朴,我...
    開(kāi)封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤兴喂,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體衣迷,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畏鼓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壶谒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片云矫。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖汗菜,靈堂內(nèi)的尸體忽然破棺而出让禀,到底是詐尸還是另有隱情,我是刑警寧澤呵俏,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布堆缘,位于F島的核電站,受9級(jí)特大地震影響普碎,放射性物質(zhì)發(fā)生泄漏吼肥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一麻车、第九天 我趴在偏房一處隱蔽的房頂上張望缀皱。 院中可真熱鬧,春花似錦动猬、人聲如沸啤斗。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钮莲。三九已至,卻和暖如春彼水,著一層夾襖步出監(jiān)牢的瞬間崔拥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工凤覆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留链瓦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓盯桦,卻偏偏與公主長(zhǎng)得像慈俯,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拥峦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355