2012-06-19 76 views
0

我從外部html文件將內容加載到div中。這非常簡單(儘管我在內容出現時遇到了一些問題,這裏解決了這個問題:jquery mobile - loading content into a div),但是一旦內容被加載(它只是文本),屏幕中心會出現這個小旋轉加載動畫,走開。我不知道JQuery是否正在嘗試加載其他內容或其他內容。JQuery Mobile獲取加載動畫,一旦加載內容就消失

<script> 
     $(document).ready(function() 
     { 
      $('#welcome').click(function(){ 
       console.log('clicked'); 
       $('#mainContent').load('welcome.html'); 
      $('#mainContent').trigger("pagecreate").trigger("refresh"); 
      }); 
     }); 
</script> 
+0

加載的「welcome.html」是否包含javascript? – r0m4n

+0

沒有。所有它真的是一些文字。 – Nolski

回答

0

它可能不是最乾淨的解決方案,因爲你可能尋找一種方式來觸發一個事件導致加載動畫本身隱藏起來,對吧?

但你可以嘗試和跟蹤的加載動畫的類或ID,只是隱藏它是這樣的:

$(document).ready(function() { 
     $('#welcome').click(function(){ 
      console.log('clicked'); 
      $('#mainContent').load('welcome.html', function(){ 
       $('.loadinganimationclass').hide(); 
      }); 
      $('#mainContent').trigger("pagecreate").trigger("refresh"); 
     }); 
    }); 
+0

不幸的是,似乎加載永遠不會停止。一旦我可以回到主頁面,沒有更多的jQuery命令會工作(我的所有onClick的都沒有被識別。) – Nolski

+0

很明顯的問題,但你有沒有試過$ .mobile.loading('hide'); ? – Michiel

1

我相信微調開始時你.trigger('pagecreate')

$.mobile.hidePageLoadingMsg(); 

這也是我的回調函數內運行的​​AJAX請求:在任何情況下,你可以通過運行該功能停止微調

$(document).ready(function() 
    { 
     $('#welcome').click(function(){ 
      $('#mainContent').load('welcome.html', function() { 
       $(this).trigger("create"); 
       $.mobile.hidePageLoadingMsg(); 
      }); 
     }); 
    }); 

你應該閱讀jQuery Mobile的這一頁文檔:http://jquerymobile.com/demos/1.1.0/docs/api/events.html(注意大的黃色部分,這些很重要)

您使用的是document.ready,它與jQuery Mobile不兼容,建議您使用pageinit個別僞頁面元素的事件。

要真正使這項工作,你應該使用內置的$.mobile.changePage()函數處理pseueo頁的初始化所有:

$(document).delegate('#welcome', 'click', function() 
    { 
     $.mobile.changePage('welcome.html'); 
    }); 

也有一些你可以傳遞到$.mobile.changePage()功能選項,這裏是它們的列表:http://jquerymobile.com/demos/1.1.0/docs/api/methods.html

+0

這非常有幫助,changePage函數的一個問題是我想將所有數據加載到特定的div中,而不會丟失頁面上當前的所有其他數據。我正在查看changePage()函數的選項,並且我看到pageContainer()選項可能有效,但我不確定它如何適用於代碼的其餘部分...此外,我還得到加載屏幕消失但是一旦我回到我的主頁,該網站不會識別點擊,或者至少不會在頁面上的任何點擊監聽器中運行任何代碼。 – Nolski