2011-09-13 25 views
9

Tôi vừa viết một mã chết đơn giản để ẩn tất cả các phần tử cho đến khi trang tải xong và hiển thị chỉ báo trong khi đang tải .. (Nó hoạt động).Ẩn các phần tử cho đến khi trang tải xong - sử dụng jquery

vì vậy những gì tôi yêu cầu là biết tôi có làm đúng không và bạn sẽ đề xuất điều gì.

HTML

<body> 
    <div class="loading"> 
     <img src="indicator.gif"/> 
    </div> 

    <div class="content"> 
     <!-- page content goes here --> 
    </div> 
</body> 

jquery

$(document).ready(function(){ 
     $(".content").hide(); 
    }); 

    $(window).load(function(){ 
     $(".loading").fadeOut("slow"); 
     $(".content").fadeIn("slow"); 
    }); 

Trả lời

14

Có thể bạn muốn ẩn div nội dung ngay từ đầu để tránh bất kỳ nhấp nháy trang có thể phụ thuộc vào những gì đang được nạp trên trang.

<body> 
    <div class="loading"> 
    <img src="indicator.gif"/> 
    </div> 

    <div class="content" style="display: none;"> 
    <!-- page content goes here --> 
    </div> 
</body> 


$(window).load(function(){ 
    $(".loading").fadeOut("slow"); 
    $(".content").fadeIn("slow"); 
}); 
+0

bắt tốt! có lý. – Sam

5

Một cải tiến nhỏ trên Javascript này là sử dụng gọi lại trên fadeout để làm mờ dần khi bắt đầu mờ dần. Điều này cho phép bạn chuyển đổi mượt mà hơn nhiều.

<body> 
    <div class="loading"> 
    <img src="indicator.gif"/> 
    </div> 

    <div class="content" style="display: none;"> 
    <!-- page content goes here --> 
    </div> 
</body> 


$(window).load(function(){ 
    $(".loading").fadeOut("slow", function(){ 
    $(".content").fadeIn("slow"); 
    }); 
}); 
Các vấn đề liên quan