2012-05-01 78 views
16

Cách tốt nhất để hiển thị div khi được nhấp vào nút và sau đó ẩn nó bằng nút đóng là gì ??khả năng hiển thị: hiển thị/ẩn div

mã jQuery của tôi là như sau:

$(".imageIcon").click(function(){ 
$('.imageShowWrapper').css("visibility", 'visible'); 
}); 
$(".imageShowWrapper").click(function(){ 
$('.imageShowWrapper').css("visibility", 'hidden'); 
}); 

trừ vấn đề tôi đang gặp là nó tự động đóng mà không cần bất kỳ nhấp chuột. Nó tải mọi thứ ok, hiển thị trong khoảng 1/2 giây và sau đó đóng lại. Bất kỳ ý tưởng?

Trả lời

25

Bạn có thể sử dụng showhide phương pháp:

$(".imageIcon").click(function() { 
    $('.imageShowWrapper').show(); 
}); 

$(".imageShowWrapper").click(function() { 
    $(this).hide(); 
}); 
+0

hey cảm ơn câu trả lời của bạn, tôi muốn div được ẩn đầu tiên, tôi sẽ cần sử dụng cùng một chức năng hide() hoặc tôi có thể chỉ sử dụng tài sản visibilty CSS –

+2

@Scott Robertson, bạn được chào đón, bạn có thể ẩn div bên ngoài xử lý sự kiện, ẩn bộ 'display: none' thành một phần tử. – undefined

+0

hmm có lẽ tôi đã không thực hiện nó đúng cách Tôi vẫn đang học rất nhiều thứ này. Trong tệp CSS của tôi, tôi đặt 'display: none' trong thuộc tính của imageShowWrapper nhưng bây giờ Jquery wont không ảnh hưởng đến div –

0

Bạn sẽ nhận được một sự chuyển tiếp mượt mà bằng cách sử dụng phương pháp phai:

var imageIcon = $(".imageIcon"), 
    imageShowWrapper = $(".imageShowWrapper"); 

imageIcon.on("click", function(){ 
    imageShowWrapper.stop().fadeIn(); 
}); 

imageShowWrapper.on("click", function(){ 
    $(this).stop().fadeOut(); 
}); 

Demo: http://jsbin.com/uhapom/edit#javascript,html,live

0
$(".imageIcon, .imageShowWrapper").click(function(){ 
    $('.imageShowWrapper').toggle(); 
}); 
2

Một lựa chọn khác :

$(".imageIcon, .imageShowWrapper").click(function() { 
    $(".imageShowWrapper").toggle($(this).hasClass('imageIcon'));  
}); 

Bạn cũng có thể sử dụng fadeToggleslideToggle

5

Theo yêu cầu của bạn, tôi tin rằng những gì bạn cần là đơn giản như này: http://jsfiddle.net/linmic/6Yadu/

Tuy nhiên, sử dụng khả năng hiển thị là khác nhau từ việc sử dụng chương trình/ẩn chức năng, chi tiết gory: What is the difference between visibility:hidden and display:none?

+0

đây là exatcly những gì tôi muốn và là khá nhiều những gì mã ban đầu của tôi, nó chỉ không làm việc cho một số lý do. –

Các vấn đề liên quan