2011-12-17 16 views
1

マウスを1つのdivに重ねると、行全体がハイライト表示され、ユーザーがクリックできるようにするにはどうすればよいですか?私はJavascriptかJqueryのどちらを使用するかについて全く混乱しています。ここで 3つのDivsを横に並べて表示

は、コードのプレビューと表示へのリンクです: http://jsfiddle.net/cMpaE/

ところで、私は、コントロールのリストビュータイプとしてこれらを使用していますので、1つのページにこれらの複数があるでしょう。

お時間をいただきありがとうございます。

答えて

2

をクリックハンドラをアタッチ:

ラップ行をコンテナのdivに、あなたは/ divの

CSSのまま入力したときにクラスを切り替えます:

.hover > div { 
    background-color: #0f0 !important; /* Only need !important to override your inline css */ 
} 

のjQuery:

$('#logoBlock,#promotionBlock,#descriptionBlock').hover(function() { 
    $(this).parent().toggleClass('hover'); 
}); 

はここで働くの例を参照してください:答えのためのhttp://jsfiddle.net/m22Gu/2/

+0

答えと、役に立つjsfiddleの例をありがとう。 – tushar747

+0

+1 - うまくやった –

1

最初にdivに表示するスタイルを表すhighlightと呼ばれるCSSクラスを作成し、リストボックスのその行の他のすべてのdivを表示します。

そして、生成されていますそれぞれのdivに、それはデータ属性を持つ上にある、あなたのリストボックスのどの行を識別し、それに対応するCSSクラスを与える:次に

<div data-rownum="2" class="row2" ... 

$("div[class *= 'row']").hover(function() { 
    $(".row" + $(this).data("rownum")).addClass("highlight"); 
}, function() { 
    $(".row" + $(this).data("rownum")).removeClass("highlight"); 
}); 

質問の2番目の部分については、ユーザーがマウスの上にあるときにdivをクリックすることができます。だから、あなたの行のdiv要素にjQueryを使って

$(document).on("click", "div[class *= 'row']", function() { 
    //click handler 
}); 
+1

おかげで、私は今、CSSでのIDの上で読んでいくつか:) – tushar747

+0

をしなければならない、私は周りを探してきたと私は何のために任意の分かりやすい説明を見つけることができないようあなたはちょうどdivにデータrownumsを割り当てることについて言った。上記のように各divに自分のデータベースのMYSQL IDに従ってIDを割り当てる方法が必要なので、ユーザーがリストビューをクリックしたときにIDに基づいて関連するコンテンツを表示することができます。 – tushar747

+0

@ tushar747 - あなた自身がする必要があることですが、とにかくjhofの答えはとにかく良いと思います。 –

関連する問題