vue2.0實現(xiàn)前端星星評分功能組件實例代碼
更新時間:2018年02月12日 11:22:15 作者:前端++
本文通過實例代碼給大家介紹了vue2.0實現(xiàn)前端星星評分功能組件,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
下面給大家分享vue 2.0實現(xiàn)星星評分組件,代碼很簡單,一起看看吧!
廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:
<template id="pingJia">
<div>
<ul>
<li :class="{li1:1,bg1:index%2}" v-for="(value,index) in list"><span class="stu_span1">
{{value.classs.major}}</span>
<span class="stu_teacher">任課老師:{{value.classs.teacher}}</span>
<div v-for="(item,index1) in value.classs.zh" class="stu_div" :id="index">
<span class="stu_title">{{item.title}}</span>
<span class="stu_bgstar" :id="index1">
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
<span class="stu_bgstar1" :title="value.classs.title1"></span>
</span>
<span class="stu_bgstar2" @mousemove="pingjia($event)" :title="value.classs.title1"
@click="pingjia1($event)" @mouseleave="pingjia2($event)"></span>
<span>{{item.lastD}}</span>
</div>
</li>
<button class="but1" @click="pingjia3($event)">評價</button>
</ul>
</div>
</template>
<style>
.li1{
width: 1200px;
/*height: 330px;*/
color: #f60;
border: 1px solid #000000;
font-size: 20px;
line-height: 50px;
}
.bg1{
background: #00A2D4;
}
.but1{
width: 200px;
height: 40px;
font-size: 25px;
float: right;
margin: 5px 5px;
}
.stu_span1{
float: left;
margin: 0px 25px;
}
.stu_teacher{
float: left;
}
.stu_div{
float: left;
width: 1000px;
height: 50px;
}
.stu_title{
float: left;
}
.stu_bgstar{
width: 250px;
height: 50px;
float: left;
margin-left:500px;
/*background: url(../image/star.png);*/
background-size: 50px 50px;
}
.stu_bgstar1{
width: 50px;
height: 50px;
float: left;
background: url(../image/star.png);
background-size: 50px 50px;
margin-left: 0px;
}
.stu_bgstar2{
width: 250px;
height: 50px;
float: left;
/*background: url(../image/star.png);*/
/*background-size: 50px 50px;*/
margin-left: -250px;
opacity: 0;
}
.stu_bgstar3{
background: url(../image/star1.png);
background-size: 50px 50px;
}
.stu_li_text{
width: 95%;
height: 100px;
border: 1px solid #000000;
resize: none;
}
</style>
<script>
export default{
data(){
return{
list:[{classs:{major:"數(shù)學",teacher:"鄭...0",title1:0,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}},
{classs:{major:"語文",teacher:"鄭...1",title1:1,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}},
{classs:{major:"英語",teacher:"鄭...2",title1:2,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}},
{classs:{major:"數(shù)學",teacher:"鄭...3",title1:3,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}},
{classs:{major:"數(shù)學",teacher:"鄭...4",title1:4,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}},
{classs:{major:"數(shù)學",teacher:"鄭...5",title1:5,
zh:[{title:"課堂氛圍",d:0,lastD:0},
{title:"老師水平",d:0,lastD:0},{title:"課后布置",d:0,lastD:0}
],text:"好"}}]
}
},
methods:{
pingjia($event){
let wei = $event.target.parentNode.id;
let b = $event.target.previousElementSibling.id;
let a = parseInt($event.offsetX/250*100);
let c = parseFloat($event.offsetX/50);
this.list[wei].classs.zh[b].d = Math.ceil(c);
this.list[wei].classs.title1 = a;
for(let i = 0;i<5;i++){
if(i<this.list[wei].classs.zh[b].d){
$event.target.previousElementSibling.children[i].classList.add('stu_bgstar3');
}
else{
$event.target.previousElementSibling.children[i].classList.remove('stu_bgstar3');
}
}
if(a==0){
$event.target.previousElementSibling.children[0].classList.remove('stu_bgstar3');
}
},
pingjia1($event){
let wei = $event.target.parentNode.id;
let b = $event.target.previousElementSibling.id;
this.list[wei].classs.zh[b].lastD = this.list[wei].classs.zh[b].d;
},
pingjia2($event){
let wei = $event.target.parentNode.id;
let b = $event.target.previousElementSibling.id;
for(let i = 0;i<5;i++){
if(i<this.list[wei].classs.zh[b].lastD){
$event.target.previousElementSibling.children[i].classList.add('stu_bgstar3');
}
else{
$event.target.previousElementSibling.children[i].classList.remove('stu_bgstar3');
}
}
},
pingjia3($event){
console.log(this.list[0].classs.text);
}
}
}
</script>
總結
以上所述是小編給大家介紹的vue2.0實現(xiàn)前端星星評分功能組件實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:
相關文章
Vue3+Element-plus項目自動導入報錯的解決方案
vue3出來一段時間了,element也更新了版本去兼容vue3,下面這篇文章主要給大家介紹了關于Vue3+Element-plus項目自動導入報錯的解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07
vue+element?upload上傳帶參數(shù)的實例
這篇文章主要介紹了vue+element?upload上傳帶參數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04
vue3實現(xiàn)鼠標右鍵顯示菜單,點擊其他地方消失問題
這篇文章主要介紹了vue3實現(xiàn)鼠標右鍵顯示菜單,點擊其他地方消失問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
vue addRoutes實現(xiàn)動態(tài)權限路由菜單的示例
本篇文章主要介紹了vue addRoutes實現(xiàn)動態(tài)權限路由菜單的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Vue+tracking.js 實現(xiàn)前端人臉檢測功能
這篇文章主要介紹了Vue+tracking.js 實現(xiàn)前端人臉檢測功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

