![](/img/trans.png)
[英]How to make JavaScript display an animated GIF for a few seconds, and then display an image?
[英]Javascript: How to display an animated (loading) gif while a chart is being created
在網頁上,我有一些使用pChart創建的圖表,它們需要一些時間才能生成。
為了使頁面在合理的時間內完成加載,我放置了一些圖片(也使用pChart生成)來代替這些圖表,這些圖片僅帶有文字“單擊此處以加載圖表XYZ”。
我的問題是,當用戶單擊圖片時,div縮小為零,這會導致其他div改變位置。 因此,我正在考慮在生成圖表時代替圖表顯示加載的(動畫)gif。 單擊后,這還應提供直觀的指示,表明正在生成圖表,並防止div縮小。
這是到目前為止我正在使用的代碼:
<head>
<script>
function myFunction(where){
var content = '<img style="some style" src="chart.php">';
document.getElementById(where).innerHTML = content;
}
</script>
</head>
<body>
<div id="id1" style="some style">
<img style="some style" src="click-to-load.php" onclick="myFunction('id1')">
</div>
</body>
上面的工作就像我已經描述的那樣:div縮小並且用戶沒有任何其他視覺指示,表明在后台發生了某些事情,並且最終會由於單擊而顯示出一些東西。
因此,如何更改onclick事件以顯示gif,請求php圖表(這只是一個jpeg圖像),以及在准備好dsplay時將其顯示在加載的gif上?
一方面,為了避免縮小的問題,您可以在<div id="id1"></div
上設置寬度和高度,以便即使室內沒有東西也可以保留此空間。 頁面中的其余元素將保留在原處。
另一方面,當您單擊初始圖像時,您希望發生兩件事:1)將此圖像交換為gif,2)並執行將加載某些內容的php文件。
您只需要使用想要顯示的gif設置var content
,這將立即發生,並執行php文件,這將需要一段時間,然后將gif替換為其內容。
順便說一句,
src
屬性應該具有圖像的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.