ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryは、スクリーンショット_jqueryを使用して淘宝網の星評価に似た機能を実装します

jqueryは、スクリーンショット_jqueryを使用して淘宝網の星評価に似た機能を実装します

WBOY
WBOYオリジナル
2016-05-16 16:36:231540ブラウズ

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 を追加します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。