zoukankan      html  css  js  c++  java
  • vue2.0实现前端星星评分功能组件

    <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{
    1200px;
    /*height: 330px;*/
    color: #f60;
    border: 1px solid #000000;
    font-size: 20px;
    line-height: 50px;
    }

     

    .bg1{
    background: #00A2D4;
    }
    .but1{
    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;
    1000px;
    height: 50px;
    }
    .stu_title{
    float: left;
    }

    .stu_bgstar{
    250px;
    height: 50px;
    float: left;
    margin-left:500px;
    /*background: url(../image/star.png);*/
    background-size: 50px 50px;

    }
    .stu_bgstar1{
    50px;
    height: 50px;
    float: left;
    background: url(../image/star.png);
    background-size: 50px 50px;
    margin-left: 0px;

    }
    .stu_bgstar2{
    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{
    95%;
    height: 100px;
    border: 1px solid #000000;
    resize: none;
    }

    </style>

    <script>

      export default{

        data(){

          return{

            

    list:[{classs:{major:"数学",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:"数学",teacher:"郑...3",title1:3,
    zh:[{title:"课堂氛围",d:0,lastD:0},
    {title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}
    ],text:"好"}},
    {classs:{major:"数学",teacher:"郑...4",title1:4,
    zh:[{title:"课堂氛围",d:0,lastD:0},
    {title:"老师水平",d:0,lastD:0},{title:"课后布置",d:0,lastD:0}
    ],text:"好"}},
    {classs:{major:"数学",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>

  • 相关阅读:
    Android Studio复制项目作为一个新的工程
    7-(基础入门篇)关于STM32底层程序使用说明
    6-(基础入门篇)学会编译lua固件,固件的合成
    5-(基础入门篇)学会刷Wi-Fi模块固件(刷LUA版本固件)
    STM32嵌入LUA开发(控制小灯闪耀)
    1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))
    android 权限动态申请
    Android应用更新-自动检测版本及自动升级
    Android中AsyncTask的使用
    关于TCP和MQTT之间的转换
  • 原文地址:https://www.cnblogs.com/qdcnbj/p/8420994.html
Copyright © 2011-2022 走看看