2010-07-08 89 views
1

我希望有人能幫助我。我發現這個jQuery腳本使用AJAXjquery hide div

$(document).ready(function(){ 
    //References 
    var sections = $("#menu li"); 
    var loading = $("#loading"); 
    var content = $("#content"); 

    //Manage click events 
    sections.click(function(){ 
     //show the loading bar 
     showLoading(); 
     //load selected section 
     switch(this.id){ 
      case "home": 
       content.slideUp(); 
       content.load("/includes/content.asp", hideLoading); 
       content.slideDown(); 
       break; 
      //case "news": 
      // content.slideUp(); 
      // content.load("sections.html #section_news", hideLoading); 
      // content.slideDown(); 
      // break; 
      case "interviews": 
      content.slideUp(); 
      content.load("/includes/test1.asp", hideLoading); 
      content.slideDown(); 
      break; 
      case "external": 
       content.slideUp(); 
       content.load("/includes/test.asp", hideLoading); 
       content.slideDown(); 
       break; 
      default: 
       //hide loading bar if there is no selected section 
       hideLoading(); 
       break; 
     } 
    }); 

    //show loading bar 
    function showLoading(){ 
     loading 
      .css({visibility:"visible"}) 
      .css({opacity:"1"}) 
      .css({display:"block"}) 
     ; 
    } 
    //hide loading bar 
    function hideLoading(){ 
     loading.fadeTo(1000, 0); 
    }; 
}); 

加載內容到一個步伐,這行代碼是在主頁上

<div id="loading"> 
    <div align="center"><img src="/css/images/loading.gif" alt="Loading" /></div> 
</div> 

我需要隱藏加載圖片時,我的頁面加載(隱藏DIV ID =「loading」)當頁面加載時它不隱藏,當我點擊一個鏈接將內容加載到我的頁面時div有移動我的內容...

任何想法如何在加載div完成時隱藏div?

感謝

回答

1
$(document).ready(function(){ 
    //References 
    var sections = $("#menu li"); 
    var loading = $("#loading").hide(); // Hide the loading image on page load 
    var content = $("#content"); 

而且不是使用.fadeTo()使用.fadeOut()讓您加載影像將會被隱藏動畫結束。

function hideLoading(){ 
    loading.fadeOut(1000); 
}; 

而且,改善您的showLoading()可能是:

function showLoading(){ 
    loading.show(); 
     // or if you want it animated 
     // loading.fadeIn(200); 
} 
+0

您好帕特里克 - 感謝您的反饋,它解決了50問題的百分比,當頁面加載時,現在隱藏圖片加載,但div仍然在那裏移動我的內容... – 2010-07-08 14:30:57

+0

@傑拉德 - 嗨。我剛剛更新了我的答案。 :o)使用'fadeOut()'而不是'fadeTo()'。實際上,你可以通過類似的方式改進'showLoading()'函數。我會更新。 – user113716 2010-07-08 14:31:52

+0

謝謝帕特里克我已經應用了你所建議的解決方案,它的工作原理是100% - 非常感謝! – 2010-07-08 17:11:20

1

你只需撥打:

$("#loading").hide(); 

呼叫這對$(document).ready

1

你可能想嘗試以下操作:

$(document).ready(function(){ 
    $('#loading').css('display','none'); /*If you want the div to appear as if it never existed*/ 
    $('#loading').css('visibility','hidden'); /*If you want the div to be 'hidden' but keep the space that it occupies.*/ 
});