簡體   English   中英

jQuery-加載后重用數據

[英]JQuery - reuse data after load

我有這個功能:

// AJAX MESSAGES SHOWING
show_msg.on('click', function(e){
    var $this = $(this),
    url = $this.attr('href'),
    url_info =  url + ' .basic_info > *',
    url_msg =  url + ' .contact_messages > *';

    basic_info.slideUp('fast', function(){
            basic_info.empty().load(url_info, function(){
                basic_info.slideDown('fast');
        });
    });

    contact_messages.slideUp('fast', function(){
            contact_messages.empty().load(url_msg, function(){
                contact_messages.slideDown('fast');
        });
    });
    return false;
});

它正在工作,但是我使用了兩次負載,我想這不是很有效的方法。 有什么方法可以一次加載數據,然后從該數據中選擇所需的內容嗎?

你可以做:

(function(){

    var basicInfoLoaded = false, contactMessageLoaded = false;

// AJAX MESSAGES SHOWING
show_msg.on('click', function(e){
    var $this = $(this),
    url = $this.attr('href'),
    url_info =  url + ' .basic_info > *',
    url_msg =  url + ' .contact_messages > *';

    basic_info.slideUp('fast', function(){
                    if(basicInfoLoaded)
                        basic_info.slideDown('fast');
                    else{
                        basicInfoLoaded = true;
            basic_info.empty().load(url_info, function(){
                    basic_info.slideDown('fast');
            });
                    }
    });

    contact_messages.slideUp('fast', function(){
                    if(contactMessageLoaded)
                        contact_messages.slideDown('fast');
                    else{
                            contactMessageLoaded = true;
            contact_messages.empty().load(url_msg, function(){
                contact_messages.slideDown('fast');
                });
                    }
    });
    return false;
});

})();

暫無
暫無

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

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