2013-04-23 25 views
21

Tôi có chức năng .hide() ẩn divs dựa trên hộp kiểm.Sử dụng jQuery .hide() với fading

JS Fiddle of it working here Real site example here

Tôi đang cố gắng để cho nó hoạt hình để các .hide() sẽ mờ dần vào/ra chứ không chỉ biến mất.

Cố gắng sử dụng các chức năng jQuery Fade nhưng như một tham số cho .hide() nhưng dường như không làm việc

$("div").click(function() { 
     $(this).hide("fade", {}, 1000); 
}); 

tôi đã cố gắng sử dụng điều này trong mã của tôi (xem JS Fiddle) như sau:

if(allSelected.length > 0){ 
      $("div.prodGrid > div:not(" + allSelected + ")").hide("fade", {}, 1000); 
     } 

Tôi sẽ làm gì sai?

+0

Điều quan trọng cần lưu ý ở đây là phương thức 'ẩn()' không có tham số có hiệu lực. Đọc [tài liệu của phương thức] (http://api.jquery.com/hide/) để xem các đối số khác nhau. Trong các phương thức như vậy, đối số đầu tiên hoặc thuộc tính đối số thường là đối số 'duration'. – Boaz

Trả lời

46
$("div").click(function() { 
    $(this).fadeOut(1000); 
}) 

Ngoài ra còn có fadeInfadeToggle.

+0

ngón tay cái này là dành cho jquery – tObi

+5

về mặt kỹ thuật này không trả lời câu hỏi, vì hiển thị và ẩn công việc trên màn hình và các phương thức mờ dần hoạt động trên độ mờ đục. – neil1967

12

Bạn có thể sử dụng @ giải pháp Arnelle nếu bạn muốn fadeOut hoặc

thay $(this).hide("fade", {}, 1000); với

 $(this).hide("slow");//or $(this).hide(1000); 

đi "chậm" sẽ cung cấp cho một hình ảnh động đẹp trước khi trốn div của bạn.

Modified fiddle của bạn với những thay đổi: http://jsfiddle.net/Z9ZVk/8/

+0

Câu trả lời của Arnelle biến mất. Hoạt hình với ẩn và hiển thị khác với mờ dần ... Nó mát hơn mờ dần và mờ dần trong – codefreak

+0

Điều này thực sự tuyệt vời, tuy nhiên nó không hoạt động khi các bộ lọc được nhấp liên tiếp nhanh, khá điển hình với thương mại điện tử. Hãy suy nghĩ một phai đơn giản có thể hoạt động tốt hơn. Điều này là tuyệt vời mặc dù! – Francesca

1

Hãy thử sử dụng fadeout với thời gian thay vì sử dụng ẩn.

if(allSelected.length > 0){ 
     $("div.prodGrid > div:not(" + allSelected + ")").fadeOut(1000); 
    } 

Working Fiddle

1

Tôi đã thử mã kiểm tra vào liên kết bên dưới, làm việc tốt của nó.

Using jQuery .hide() and .show() with fading - Live Demo

$("#btnHideShow").click(function() { 
      if ($("#btnHideShow").val() == "Hide") { 
       $("#imgHideShow").hide(1000); 
       $("#btnHideShow").attr("value", "Show"); 
      } 
      else { 
       $("#imgHideShow").show(1000); 
       $("#btnHideShow").attr("value", "Hide"); 
      } 
     }); 

Bạn cũng có thể tìm fadeIn, fadeOut, slideUp và slideDown Sử dụng Jquery từ thebelow liên kết.

fadeIn fadeOut and slideUp slideDown Effects Using Jquery

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