2011-05-05 49 views
2

我一直在玩jQuery的多方向滾動。我發現這是一種瀏覽網站的極好方式,但它有一個缺點。瀏覽器需要一次加載所有網站內容,因爲它在一個html文檔中。html文檔之間的多向滾動

現在我一直在尋找一種在不同html文檔之間進行滾動的方法。所以,而不是在div之間滾動,我想知道是否有可能在html文檔之間滾動。這可能嗎?

回答

3

這對於客戶端和服務器之間的請求/響應事務的正常意義而言是不可能的 - 只有瀏覽器可以在此頁面更改級別上爲動畫製作動畫。還有一些其他的選擇:

  1. 滾動時偏向一側,用JS重定向瀏覽器(有一些哈希標籤或查詢字符串信息)到下一個頁面。當下一頁加載時,您應用一個動畫,使其看起來像已經滾動到。這具有在頁面轉換之間延遲的令人討厭的缺點。
  2. 使用AJAX,因此,當您滾動時,內容將異步加載到頁面中。然後,一旦它被加載,你不必擔心它。這與Google或Bing在圖片搜索中滾動瀏覽圖片時的功能類似。這具有僅加載所需內容的優點。

對於AJAX加載,jQuery的AJAX方法是非常有用:http://api.jquery.com/jQuery.ajax/ 只需通過一個URL,任何你想要的信息,而回調。在回調中,將響應數據加載到空的div或任何地方。 事情是這樣的例子,從jQuery的網站採取:

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
    } 
}); 
+0

我對AJAX沒有任何經驗。任何建議如何適應這個? – Aeonius 2011-05-05 21:52:01

+0

查看更新的答案。 :) – 2011-05-05 21:53:34

+0

看起來我必須真正坐下來閱讀所有這些內容,但是您確定它也適用於我擁有的滾動功能。所以當一個鏈接被點擊時,jQuery會滾動到一個div並將數據加載到它中? – Aeonius 2011-05-05 21:59:54

1

有兩種方法,你可以得到這個成就。

  • 使用iframe。這顯然不是最好的選擇。
  • 第二個是使DIV中的所有鏈接使用ajax並將內容加載到DIV中。基本上,修改所有的鏈接,使其不在任何地方,而是在頁面上動態加載到相應的DIV中。
0

是的,如果你預先加載其他html頁面div或iframe(例如)。