js實(shí)現(xiàn)星星打分效果的方法

字號(hào):


    很多網(wǎng)站都有如下圖這樣的星星打分效果,今天就看下用js怎么實(shí)現(xiàn)打分效果。
    js實(shí)現(xiàn)星星打分效果的方法三聯(lián)
    效果詳解
    1. 鼠標(biāo)移上的時(shí)候星星點(diǎn)亮,下面的文字顯示。鼠標(biāo)移出的時(shí)候星星為灰,下面文字不顯示。
    2. 鼠標(biāo)移到某個(gè)星星上,它之前的所有星星都會(huì)亮。
    3. 鼠標(biāo)移到某個(gè)星星上并點(diǎn)擊,會(huì)顯示打分結(jié)果。
    代碼如下:
    <!doctype html>
    <html>
    <head>
    <meta charset=gbk>
    <title>切換</title>
    <style>
    .wrapper{width:300px; margin:10px auto; font:14px/1.5 arial;}
    /*tab*/
    #star{overflow:hidden;}
    #star li{
    float:left;
    width:20px;
    height:20px;
    margin:2px;
    display:inline;
    color:#999;
    font:bold 18px arial;
    cursor:pointer
    }
    #star .act{
    color:#c00
    }
    #star_word{
    width:80px;
    height:30px;
    line-height:30px;
    border:1px solid #ccc;
    margin:10px;
    text-align:center;
    display:none
    }
    </style>
    <script>
    window.onload = function(){
    var star = document.getelementbyid(star);
    var star_li = star.getelementsbytagname(li);
    var star_word = document.getelementbyid(star_word);
    var result = document.getelementbyid(result);
    var i=0;
    var j=0;
    var len = star_li.length;
    var word = ['很差','差','一般',好,很好]
    for(i=0; i<len; i++){
    star_li[i].index = i;
    star_li[i].onmouseover = function(){
    star_word.style.display = block;
    star_word.innerhtml = word[this.index];
    for(i=0; i<=this.index; i++){
    star_li[i].classname = act;
    }
    }
    star_li[i].onmouseout = function(){
    star_word.style.display = none;
    for(i=0; i<len; i++){
    star_li[i].classname = ;
    }
    }
    star_li[i].onclick = function(){
    result.innerhtml = (this.index+1)+分;
    }
    }
    }
    </script>
    </head>
    <body>
    <div class=wrapper>
    打分結(jié)果
    <span id=result></span>
    <ul id=star>
    <li>★</li>
    <li>★</li>
    <li>★</li>
    <li>★</li>
    <li>★</li>
    </ul>
    <div id=star_word>一般</div>
    </div>
    </body>
    </html>