2011-07-16 33 views

Trả lời

14

Từ sự kết hợp của những gì tôi đọc ở trên, đây là tốt nhất mà tôi nhận được:

$(div).css({ 
     opacity: 0, 
     display: 'inline-block'  
    }).animate({opacity:1},600); 
+0

Bạn tiết kiệm ngày của tôi –

+0

Chỉ cần người đàn ông tuyệt vời .. Cảm ơn – Novasol

17

Nếu bạn sử dụng css()?

$("div").fadeIn().css("display","inline-block"); 
+4

Tôi đã không cố gắng này, nhưng tôi có cảm giác nó có thể gây ra các yếu tố để nhảy xung quanh một chút, như nó sẽ được thay đổi thành 'display: block;' trong khi hoạt hình, và sau đó quay lại 'display: inline-block' sau khi hoạt ảnh kết thúc. Vì vậy, tôi không nghĩ rằng nó sẽ làm việc. Có thể có giá trị cố gắng ra mặc dù, do đó, 1 anyway. – Spudley

+0

@Spudley Tôi nghĩ cũng là và thử nó với 'vị trí: inline' thay vì' vị trí: inline-block' để xem nếu nó hiển thị đầu tiên là 'display: block' nhưng nó không. http://jsfiddle.net/6DcY9/ Tất nhiên tùy thuộc vào mã khác, điều này có thể xảy ra – Sotiris

+0

Tôi đang thực hiện 'fadeIn (" fast "). css ({'display': 'inline-block'})' và nó không khiến bố cục của tôi nhảy xung quanh. Tôi nghĩ rằng nó đặt thuộc tính display trước khi fadeIn kết thúc. Ngoài ra, kể từ khi IE7 không biết làm thế nào để giải thích inline-block, tôi đang kiểm tra xem 'html' có một lớp' ie7' sau đó thiết lập '.css ({'display': 'inline', 'zoom': ' 1 '}) 'thay thế. – Jazzerus

6

Tôi muốn đề xuất thêm một lớp phần tử bên trong phần tử inline-block và thay vào đó sẽ mờ dần.

<div style='display:inline-block;'> 
    <div id='fadmein'>....</div> 
</div> 

$('#fademein').fadeIn(); 

Tôi biết đó là đánh dấu phụ, nhưng đây có thể là giải pháp thực tế nhất cho vấn đề.

Cách khác là sử dụng phương pháp animate() của JQuery để thay đổi độ mờ đục, thay vì sử dụng fadeIn(). Điều này sẽ chỉ thay đổi tài sản opacity; do đó, thuộc tính display sẽ bị ảnh hưởng.

+0

Tùy thuộc vào cách bạn đã thiết lập nội dung, điều này có thể không phải là giải pháp tìm kiếm tốt nhất, nhưng đây có lẽ là giải pháp dễ triển khai nhất và hoạt động tốt một cách đáng ngạc nhiên. Cảm ơn rất nhiều! – shmeeps

1

Theo this question trong Diễn đàn jQuery, giải pháp được đề xuất là thay đổi thuộc tính 'hiển thị' thành block và thả nổi.

+5

gosh no. nếu bạn đang sử dụng 'inline-block', đó là bởi vì bạn đang cố gắng tránh nổi. – Spudley

+0

Tôi đồng ý. Nhưng tôi nghĩ rằng đó là một liên kết có liên quan để cung cấp – Simeon

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