js星星打分效果詳解


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

效果詳解

1. 鼠標移上的時候星星點亮,下面的文字顯示。鼠標移出的時候星星為灰,下面文字不顯示。

2. 鼠標移到某個星星上,它之前的所有星星都會亮。

3. 鼠標移到某個星星上並點擊,會顯示打分結果。

 

代碼如下

 

<!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>




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM