html
<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“
$(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(); }); })
出現的效果是這樣的:
可惜的是你一點擊下去--就不可更改了。真的是很悲傷啊。大概也只是做了一個小樣子而已。
prevAll() 和nextAll()這兩個方法?暫且說方法吧。在jquery的文檔可以查得到。
index 在jquery 裡是返回元素的索引值,從零開始。分數呢就加1,