萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> js實現星星打分效果的方法

js實現星星打分效果的方法

 很多網站都有如下圖這樣的星星打分效果,今天就看下用js怎麼實現打分效果。

js實現星星打分效果的方法 三聯

效果詳解
1. 鼠標移上的時候星星點亮,下面的文字顯示。鼠標移出的時候星星為灰,下面文字不顯示。
2. 鼠標移到某個星星上,它之前的所有星星都會亮。
3. 鼠標移到某個星星上並點擊,會顯示打分結果。

代碼如下

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 <!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"> 打分結果 <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>
copyright © 萬盛學電腦網 all rights reserved