ホームページ > 記事 > ウェブフロントエンド > jqueryは、スクリーンショット_jqueryを使用して淘宝網の星評価に似た機能を実装します
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() この 2 つのメソッドは?とりあえずその方法について話しましょう。これは jquery のドキュメントに記載されています。
jquery のindex は、ゼロから始まる要素のインデックス値を返します。スコアに 1 を追加します。