2011-02-09 3 views
2

私はスター投票システムの作成に取り組んでいます。 5つの星があり、明るいものは現在の平均星が投票していることを示しています。あなたがマウスオーバーして星をつけたら、4番の数字を言うことができます。4番を右から明るくしたい、2番をマークすると2番の星は右からマークしなければなりません。 星は、CSSクラス.iconFavoriteにあるので、私のコードは次のようになり、.iconFavorite_hoverが明るくとき3:jQuery/css:選択した星の数が点灯する

<div class="iconFavorite_hover"></div> 
<div class="iconFavorite_hover"></div> 
<div class="iconFavorite_hover"></div> 
<div class="iconFavorite"></div> 
<div class="iconFavorite"></div> 

あなたは大きな緑の星がそれらをマウスオーバーしてみてください見ることができますretardo.dk/videos.php?id=905チェックアウトする場合は、選択された量の星が点灯します。

どうすればいいですか? http://jsfiddle.net/8vzCC/1/

+1

を興味がある人のために、(http://jsfiddle.net/H9Rn6/)[ここで、純粋なCSSベースのソリューションです]。私は答えとして投稿するつもりでしたが、ChromeとSafariにはいくつか問題があります(あなたが星を左から右へ移動する場合にのみ機能します)。しかしIE7 +、Opera、Firefoxではうまく動作します。 –

答えて

0

んを強調すべきではありませんこの仕事?http://jsfiddle.net/8vzCC/33/ それはそれの後のすべてを削除:)これは動作するはずです!

EDIT:新バージョン、あなたはそれが仕事をしたいように動作するはずです:)

+0

次回はあなたの答えを編集してください。はい、それはほとんどマウスで出ます。私はデフォルトをもう一度表示したいです(3星の光)それはあなたが1つを選択してマウスを出すと1つを示しません – Karem

+0

http://jsfiddle.net/ 8vzCC/31 /ここに行く:)これはあなたが望んだことを望む? – Milaan

0

あなたはすべてのdivのIDです与えることはできません:

はここでjQueryを使って私の現在のコードのjsfiddleですか? そして、jQueryを次のようにしましょう: ホバーで - > this.id - > 'this.id'以下のidを持つすべてのdivを選択 - > set class = "IconFavorite_Hover"?

+0

はいできます。 「this.id」よりも小さいか等しいidを持つすべてのdivを選択するセレクタのコードを表示できますか? – Karem

1

ここに実例があります:Fiddle「永久」ライトアップの星には3番目のクラスが必要です。

ここでは動作させるためのjqueryです。あなたは、新しいクラス、余分なホバー変更があることがわかります Updated fiddle:あなたは私を探している余分な機能を提供するために

$(function() { 
    $('.icon').mouseover(function() { 
     $(this).addClass('iconFavorite_hover'); 
     $(this).prevAll('.icon').addClass('iconFavorite_hover'); 
    }); 
    $('.icon').mouseout(function() { 
     $(this).removeClass('iconFavorite_hover'); 
     $(this).prevAll('.icon').removeClass('iconFavorite_hover'); 
    }); 
}); 

は、いくつかの変更を行いました。

+0

お返事ありがとうございます。唯一の問題があります。あなたが最初から2つの明るい星を持っているなら、http://jsfiddle.net/8vzCC/4/で、1つの星だけを評価したい場合は、1つ星が点灯するはずです。今は軽くなっていない星のためだけに動作します。 – Karem

+0

@ Karem、私はあなたが必要とした余分な機能を追加しました。それを見てください。 –

0
$(".iconFavorite").onmouseover(function(){ 

     $(this).prevAll(".iconFavorite").add(this).addClass(".iconFavorite-hover").removeClass(".iconFavorite"); 
     $(this).nextAll(".iconFavorite-hover").addClass(".iconFavorite").removeClass(".iconFavorite-hover"); 

}).onmouseout(function(){ 
    $(".iconFavorite-hover").addClass(".iconFavorite").removeClass(".iconFavorite-hover"); 
}); 

これは、同様に次の星からのホバークラスを削除します(そう、彼らは当初、第四星にマウスを合わせ、その後、第二に行った場合、3番目と4番目の星が

関連する問題