2013-05-10 37 views
30

Tôi muốn tạo lớp phủ trên màn hình của mình trong khi một số nội dung ajax đang chạy. Xây dựng div lớp phủ của riêng tôi không phải là vấn đề lớn, nhưng, vì tôi đã sử dụng Bootstrap, tôi cho rằng tôi cũng có thể sử dụng .modal-backdrop - nó đã có sẵn, và có một số giá trị nhất quán và tất cả.Làm thế nào để kích hoạt khung nền của Bootstrap?

Vấn đề là tôi không thể tìm đúng cách để làm điều đó - Tôi đã thử thêm các lớp học vào .modal-backdrop hoặc gọi số .show() trên đó nhưng không hoạt động.

Lưu ý rằng tôi không muốn hiển thị toàn bộ hộp thoại phương thức nhưng chỉ hiển thị và sau đó ẩn phông nền.

Mọi đề xuất?

Trả lời

46

Chỉ cần nối thêm một div với lớp đó để body, sau đó loại bỏ nó khi bạn đã hoàn tất:

// Show the backdrop 
$('<div class="modal-backdrop"></div>').appendTo(document.body); 

// Remove it (later) 
$(".modal-backdrop").remove(); 

sống Ví dụ:

$("input").click(function() { 
 
    var bd = $('<div class="modal-backdrop"></div>'); 
 
    bd.appendTo(document.body); 
 
    setTimeout(function() { 
 
    bd.remove(); 
 
    }, 2000); 
 
});
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" type="text/css" /> 
 
<script src="//code.jquery.com/jquery.min.js"></script> 
 
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> 
 
<p>Click the button to get the backdrop for two seconds.</p> 
 
<input type="button" value="Click Me">

+1

Got nó - cảm ơn! –

+1

@JimMiller: Bạn được chào đón! Vui mừng đã giúp. (Amusingly, tôi chỉ có lý do để tìm hiểu điều này về một tuần trước đây.) –

+0

Bạn cũng có thể làm '$ ('

') .appendTo (document.body) .hide(). FadeIn();' nếu bạn muốn phương thức phông nền mờ dần. – phpguru

-6

Khá kỳ lạ, nó nên làm việc ra khỏi hộp như lớp ".modal-backdrop" được định nghĩa cấp cao nhất trong css.

<div class="modal-backdrop"></div> 

Made một bản demo nhỏ: http://jsfiddle.net/PfBnq/

+0

Điều này thêm một nền đen đục. – cdmckay

+0

không hoạt động trên máy tính của tôi – Krafty

+1

Để làm cho nó nửa trong suốt và ban đầu vô hình, bạn cần phải cung cấp thêm cho nó kiểu: display: none; màu nền: rgba (0, 0, 0, 0.5); – Spooner

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