2011-12-29 11 views
0
<table id="tab"> 
    <tr><td class="click" id="111">111</td> <td id="222" class="click">222</td></tr> 
    <tr><td class="click" id="333">333</td> <td id="444" class="click">444</td></tr> 
</table> 

<div id="hidden"> 
    text 
</div> 

#tab tr td { 
padding: 10px; 
    border: solid 1px red; 
} 

#hidden { 
    background-color:green; 
    width: 40px; 
    height: 40px; 
    display: none; 
} 

$(".click").click(function(){ 
    $("#hidden").show(); 
}) 

現在のクリックされたTDでdivを開く方法? #hiddenの外をクリックすると、このdivを非表示にしたいと思います。現在開いているdiv内のdivを開く

フィドル:http://jsfiddle.net/QyRnH/2/

+0

今すぐ見るhttp://jsfiddle.net/QyRnH/2/ – mgraph

答えて

1

を、私はあなたが「どのように何を意味するかわからないんだけど開いているdiv#現在のクリックしたTDに隠れている "が、を表示して非表示にするhttp://jsfiddle.net/QyRnH/7/

<table id="tab"> 
    <tr> 
    <td class="click" id="111">1</td> 
    <td class="click" id="222">2</td> 
    </tr> 
    <tr> 
    <td class="click" id="333">3</td> 
    <td class="click" id="444">4</td> 
    </tr> 
</table> 

<div id="hidden">text</div> 

$(".click").click(function(e){ 
    $("#hidden").show(); 
    $("#hidden").appendTo($(this)); 
    e.stopPropagation(); 
}); 
$(document).click(function() { 
    $('#hidden').hide(); 
}); 
+0

私が111をクリックすると、TDでこれらのdivが必要になります –

+0

@PaulLeading - 私は自分のフィドルを更新しました。 – Cyclonecode

1

ここに行く:http://jsfiddle.net/maniator/QyRnH/6/

HTML:

<table id="tab"> 
    <tr> 
     <td class="click" id="111"> 
     111 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
     <td id="222" class="click"> 
      222 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td class="click" id="333"> 
      333 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
     <td id="444" class="click"> 
      444 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
    </tr> 
</table> 

JS:

$(".click").click(function() { 

    $(".hidden").hide(); 
    $(".hidden", this).toggle(); 

}); 
+0

私は外をクリックしてトグルするのではなく、divを非表示にしたいのですが、ありがとう) –

3

左とトップを変更するには

$(".click").click(function(){ 
    $("#hidden").show(); 
    $("#hidden").offset($(this).offset()); 

}); 

以下のようなものを試してみてください、あなたがクリックしたときのdivを非表示にするには

$("#hidden").offset({top: $(this).offset().top, left: $(this).offset().left+10}); 

ような何かを書くことができます:あなたはこのように行うことができますdivの外では、Krister Anderssonが投稿した回答を参照してください。

+0

ありがとう、これを操作することは可能ですか?左と上?どのように私がdivをクリックするとdivを隠すことができますか? –

0
$(".click").click(function(){ 
    $("#hidden").show(); 
    $(this).append($("#hidden")); 
}) 
関連する問題