2013-06-27 144 views
0

我需要一個jQuery幫助點擊來隱藏問題。jQuery點擊隱藏修復

我現在擁有的一切:

我有一個文本,我可以點擊,它就會打開股利。當我點擊這個div隱藏了。還有什麼地方,當我點擊灰色的div仍然是隱藏

* 我試圖*

我試圖限制躲藏。如果我點擊Div,它不應該隱藏。在旁邊點擊其他地方它會隱藏。

現場爵士小提琴演示:http://jsfiddle.net/S4hcf/

HTML

<p class="show_hide">Clcik Me</p> 

<div class="slidingDiv"></div> 

CSS

div{ 
width:200px; 
height:150px; 
background:#ccc; 

} 

p{ 
cursor:pointer; 

} 

jQuery的

// click to hide  
$('html').click(function(event){ 
    if($('.slidingDiv').is(':visible')){ 
     $('.slidingDiv').hide(); 
    } 
}); 

//Toggle 

$(".slidingDiv").hide();  

$('.show_hide').click(function(event){ 
    event.stopPropagation(); 
$(".slidingDiv").slideToggle(); 
}); 

任何幫助將不勝感激。由於

回答

4

你可以簡單地防止點擊DIV本身,當點擊冒泡到外點擊:

$(".slidingDiv").click(function(e){ 
    e.stopPropagation(); 
}); 

http://jsfiddle.net/S4hcf/4/

+0

簡單的解決方案。非常感謝你 :) –

1

$(event.target).hasClass('.slidingDiv')添加到您的c ondition

$('html').click(function(event){ 
    if($(event.target).hasClass('.slidingDiv') && $('.slidingDiv').is(':visible')){ 
     $('.slidingDiv').hide(); 
    } 
}); 

DEMO:http://jsfiddle.net/S4hcf/5/

1

開始,您可以設置顯示divdisplay:none

 .slidingDiv{ 
      display:none; 
       } 

,並編寫下面的腳本爲它toggle

$('.show_hide').click(function(event){ 
    event.stopPropagation();  
    $(".slidingDiv").slideToggle(); 
    }); 

參考這個小提琴http://jsfiddle.net/Kritika/qhXcf/