很多網(wǎng)站都有如下圖這樣的星星打分效果,今天就看下用js怎么實現(xiàn)打分效果。
js實現(xiàn)星星打分效果的方法三聯(lián)
效果詳解
1. 鼠標移上的時候星星點亮,下面的文字顯示。鼠標移出的時候星星為灰,下面文字不顯示。
2. 鼠標移到某個星星上,它之前的所有星星都會亮。
3. 鼠標移到某個星星上并點擊,會顯示打分結(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>