Tôi đã tạo một trang có hộp thoại dựa trên JQuery sử dụng chức năng giao diện người dùng JQuery tiêu chuẩn. Tôi làm điều này với chức năng hộp của JQuery ... không có gì đặc biệt cả. Dưới đây là HTML của tôi cho hộp thoại:Hộp thoại JQuery được hiển thị ngay lập tức trên trang tải
<div id = "myDialog">
<!-- ... more html in here for the dialog -->
</div>
Sau đó, JQuery gọi trong javascript rằng biến đổi <div> để một hộp thoại:
// pruned .js as an example of kicking up a JQuery dialog
$('#myDialog').dialog({
autoOpen: false,
title: 'Title here',
modal: true
}
});
Một lần nữa, đồng bằng-vani JQuery. Vì vậy, bạn bắt đầu trình hướng dẫn này bằng cách nhấp vào liên kết trên trang gốc và sau đó sẽ sinh ra một hộp thoại JQuery có một đoạn HTML quan trọng bao gồm hình ảnh, v.v.
Khi tôi tiếp tục phát triển trang này, tôi bắt đầu chú ý khi tôi tải trang trong trình duyệt mà các thẻ <div> tôi đã đưa vào đó, việc biến đổi JQuery thành các hộp thoại sẽ được hiển thị rất ngắn gọn. Sau đó, trang sẽ hoạt động như mong đợi. Nói cách khác, hộp thoại sẽ không bị ẩn, hộp thoại sẽ được hiển thị ngắn gọn trong dòng trong trang. Khá xấu xí và không chuyên nghiệp! Nhưng sau một giây, trang sẽ hiển thị chính xác và trông giống như tôi mong đợi/muốn.
Theo thời gian, khi kích thước trang tăng lên, thời gian trang sẽ vẫn hiển thị không chính xác. Tôi đoán là công cụ dựng hình của trình duyệt đang hiển thị trang khi nó đang tải, sau đó cuối cùng nó khởi động JQuery sẽ biến đổi <div> thành một hộp thoại. Hàm JQuery này sau đó sẽ biến đổi đơn giản <div> thành một hộp thoại JQuery và ẩn nó (vì tôi có thuộc tính autoOpen được đặt thành false). Một số trình duyệt <ho> IE </ho > hiển thị nó dài hơn các loại khác. Hộp thoại lớn-ish của tôi giờ đây làm cho trang hiển thị không chính xác trong khoảng 1 giây ... YUCK!
Điều này phổ biến trong jquery, trước tiên các yếu tố trang web của bạn (divs) sẽ xấu xí, trong khoảng một giây và sau đó là BAM! bạn nhận được tất cả các phong cách, tab, accordions, vv Tôi đã cố gắng để thoát khỏi đó trong một thời gian dài bây giờ không có may mắn cả. – Ben
{display: none; } hoạt động tốt cho tôi. Trong khi công trình này, nó chỉ là một ví dụ về những gì một phát triển web hack nói chung. –
Ồ, tôi phát hiện ra rằng có một thuật ngữ cho điều này: FOUC (Flash của nội dung không có nội dung). –