簡體   English   中英

功能啟動時,加載Spinner圖像的速度過快

[英]Loading Spinner Image too fast at start of Function

我有一個功能,當單擊時顯示帖子的內容。 我希望加載微調器在帖子內容出現之前顯示並延遲幾個部分。 這里的問題是,當我單擊每個帖子時,微調框可能會顯示1毫秒,在某些情況下,它會在內容出現前很長時間消失。

function showPost(id) {
    setTimeout(function() {$('#loader').show();},1);
    $('#pcontent').empty();
    $.getJSON('http://howtodeployit.com/category/daily-devotion/?json=get_post&post_id=' + id + '&callback=?', function(data) {
    var $postcon = $('<div/>').append([$("<h3>", {html: data.post.title}),$("<p>", {html: data.post.content})]);
        $postcon.appendTo('#pcontent');
    });
}

微調HTML:

<div id='loader'><img src="css/images/loader.gif"/></div> 

gif圖像在每個設備上的行為總是不同的。基本上,它取決於設備的處理速度。 所以更好的選擇是使用圖像精靈並用javascript進行動畫處理。.在頁面加載時,沒有任何處理..但是隨着頁面開始加載,設備的處理器無法處理加載,結果您的gif圖像變慢了

從您的最后一條評論行看來,您正在使用超時來隱藏加載程序。 相反,您應該處理ajax請求的回調函數內部的隱藏,以便加載程序在請求完成后隱藏,而不是在固定的時間后隱藏:

function showPost(id) {
    $('#loader').show();
    $('#pcontent').empty();
    $.getJSON('http://howtodeployit.com/category/daily-devotion/?json=get_post&post_id=' + id + '&callback=?', function(data) {
        $('#loader').hide();
        var $postcon = $('<div/>').append([$("<h3>", {html: data.post.title}),$("<p>", {html: data.post.content})]);
        $postcon.appendTo('#pcontent');
    });
}

嘗試這個:

function showPost(id) {

    $('#loader').show();
    $('#pcontent').empty();

    $.ajax({
        url: 'http://howtodeployit.com/category/daily-devotion/?json=get_post&post_id=' + id + '&callback=?',
        dataType: 'json',
        success: function (data) {
            var $postcon = $('<div/>').append([$("<h3>", {
                html: data.post.title
            }), $("<p>", {
                html: data.post.content
            })]);
            $postcon.appendTo('#pcontent');
            $('#loader').hide();
        }

    });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM