2011-09-13 11 views
9

का उपयोग करके मैंने पृष्ठ को लोड होने के दौरान सभी तत्वों को छिपाने के लिए एक मृत-सरल कोड लिखा है और लोड होने के दौरान एक संकेतक प्रदर्शित करता है .. (यह काम करता है)।पृष्ठ लोड होने तक तत्वों को छुपाएं - jquery

तो मैं जो पूछ रहा हूं वह यह जानना है कि मैं इसे सही कर रहा हूं और आप क्या सुझाव दे रहे हैं।

एचटीएमएल

<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"); 
    }); 

उत्तर

14

आप शायद शुरू से ही सामग्री div को छिपाने के लिए क्या पृष्ठ पर लोड किया जा रहा है पर निर्भर करता है किसी भी संभावित पेज झिलमिलाहट से बचना चाहते हैं।

<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

अच्छी पकड़! उसका कुछ मतलब है। – Sam

5

इस जावास्क्रिप्ट पर एक मामूली सुधार fadeout पर एक कॉलबैक का उपयोग करें ताकि शुरू होता है में फीका जब fadeout पूरा कर लिया है है। यह आपको एक बहुत आसान संक्रमण देता है।

<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"); 
    }); 
}); 
संबंधित मुद्दे