本文实例讲述了jquery实现类似淘宝星星评分功能的方法,分享给大家供大家参考之用。具体方法如下:
html部分代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< body > < div id = "div" > < ul > < li >☆</ li > < li >☆</ li > < li >☆</ li > < li >☆</ li > < li >☆</ li > </ ul > </ div > < p id = "p" ></ p > < p id = "score" ></ p > </ body > |
上述代码中:
id="p"显示即时分数
id="score"显示最终分数
javascript代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<script type= "text/javascript" > $( function () { //为所有的li标签绑定mouseout和mouseover事件。bind({事件名:function(){},事件名:function(){}})的方法绑定多个事件 $( "#div li" ).bind({ mouseout: function () { $( this ).css( "color" , "black" ).html( "☆" ).prevAll().css( "color" , "black" ).html( "☆" ) }, mouseover: function () { $( this ).css( "color" , "red" ).html( "★" ).prevAll().css( "color" , "red" ).html( "★" ) } }); //=实时显示分数.【index】搜索匹配的元素,并返回相应元素的索引值,从0开始计数。 $( "#div li" ).mouseover( function () { $( "#p" ).html(parseInt( $( this ).index( "#div li" ))+1); }); //鼠标按下时,确定分数。额,就不更改了,大局已定。 $( "#div li" ).mousedown( function () { $( "#score" ).html(( "你选择的分数是" + (parseInt($( this ).index( "#div li" )) + 1))); $( this ).css( "color" , "red" ).html( "★" ).prevAll().css( "color" , "red" ).html( "★" ) //全部li标签的绑定事件全部清除--unbind方法可以加参数清除特定的事件。不加全部清除 $( this ).unbind().prevAll().unbind().nextAll().unbind(); }); }) </script> |
希望本文所述对大家的jQuery WEB程序设计有所帮助