3

私は JavaScript の第一人者ではないので、しばらくお待ちください。

私は js で良い評価を探していて、彼のブログにたどり着きました:

http://www.marcofolio.net/webdesign/jquery_quickie_colourful_rating_system_with_css3.html

作者はデモを持っており、ダウンロードするコードを提供しています。

色を保存するための例がないという事実を除いて、それは本当に素敵に見えます。したがって、ユーザーがマウスを離すと、色は黒 (デフォルトの色) に戻ります。

色を固定する方法はありますか?

4

3 に答える 3

2

TimDog が追加したコードに加えて:

追加

_rated = false;

$(".fav_rating li label").hover(function() {

ユーザーが評価にカーソルを合わせるたびに色をリセットします。次に、クリックすると _rated が true に設定されるため、色の変更が防止されます

さらに、評価の値を含む非表示の入力をフォームで使用しました。これを行うには、私の .click は次のようになります。

$(".fav_rating li label").click(function(e) {
    e.preventDefault();
    _rated = true;
    $("#item_fav_rating").val($(this).parent().index() + 1)
});
于 2013-01-22T23:07:06.787 に答える
1

script.js1 つの方法を次に示します。コード例を詳しく見てみましょう。

このグローバル変数を以下に追加しますanimationTime

var _rated = false;

ここで色がリセットされます --_rated変数をどのように使用したか見てください。

// Restore all the rating to their original colours
if (_rated) $("#rating li a").stop().animate({ backgroundColor : "#333" } , animationTime);

次に、クリック ハンドラーで次のようにします。

//Prevent the click event and show the rating
$("#rating li a").click(function (e) {
    e.preventDefault();
    _rated = true;
    //alert("You voted on item number " + ($(this).parent().index() + 1));
});

これにより、色が強調表示されたままになります。ページを更新するか、上記のリセット アニメーションの行を再実行すると、リセットされます。

お役に立てれば。

于 2013-01-18T04:20:13.440 に答える
0

あなたが言及したブログのコードを見たことがありませんが、ユーザーがボタンをクリックするとアラートが表示されるようです。つまり、onclick() が使用されます。したがって、数値を保存するグローバル変数を1つ持つことができ、そこにコードを追加して色を保持できます。

于 2013-01-18T04:20:25.250 に答える