2011-10-25 76 views
-2

是否可以加載html頁面,然後當它完成加載所有元素(包括圖片)後,它將轉到該頁面?使用js加載html頁面

例如,用戶從page1開始,然後page2開始加載,然後當page2完成加載後進入page2?這是可能的只有JavaScript或JavaScript庫

也page2有像說20張圖片,所以我想加載所有這些圖片和n顯示page2?

在此先感謝

+0

請限制你問到一個不同的場景。儘可能準確和簡單地描述它,同時顯示你到目前爲止所做的(如果有的話)。 –

+1

我想你可能想重新考慮你的頁面設計,或者確保你所展示的圖片不會太大(以MB爲單位)。你現在要求的東西似乎有點奇怪。 –

+0

@Petr,它看起來像一個我想要的場景。但是,它仍然不適合SO。 [閱讀本](http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx) – Sparky

回答

1

使用jQuery它是非常平凡的。

page1.html有這樣<div>

<div id="pnlPage2Container"></div> 

然後有這樣的代碼在第1頁:

$(document).ready(function() { 
    var oContainer = $("#pnlPage2Container"); 
    oContainer.hide(); 
    oContainer.load("page2.html", function() { 
     oContainer.show(); 
    }); 
}); 

這應該做到以下幾點:

  1. 隱藏的容器。
  2. 將頁面2的內容加載到容器中,同時它被隱藏,因此用戶將看不到它加載。
  3. 僅當內容完成加載容器時纔會顯示。
0

您可能能夠使用AJAX和定身的內容,第2頁,像這樣

<head> 
<script type="text/javascript"> 
function loadPage2() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("body").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","page2.php",false); //setting asynchronous to false will stop more JS being executed until this is done 
xmlhttp.send(); 
} 
</script> 
</head> 
<body id="body" onload="loadPage2()"> 
<!-- Page 1 stuff --> 
</body>