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

來源:互聯網
上載者:User

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>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.