切换AJAX请求

Toggle AJAX request

本文关键字:请求 AJAX 切换      更新时间:2024-02-15

我有以下代码,它将内容加载到div中,然后淡入:

$('a.search').click(function(){
    $('.pop-up').load('search.php', function(){
        $(this).fadeToggle();
    });

});

然而,我假设这是在每次单击a.search时发出请求,如果是切换?

有没有更经济的方法可以在不打多个电话的情况下实现这种切换?

在您自己的代码中实现切换,而不是使用.fadeToggle

$('a.search').click(function(){
    if ($('.pop-up').is(':visible')) {
        $('.pop-up').fadeOut();
    } else {
        $('.pop-up').load('search.php', function(){
            $(this).fadeIn();
        });
    }
});

您可以通过设置全局变量来检查一次性加载。假设您的弹出div样式设置为display:none,下面提供了示例代码:

var isPopUpLoaded = false;
$('a.search').click(function(){
    if(isPopUpLoaded==false){ 
       $('.pop-up').load('search.php', function(){
          isPopUpLoaded = true;
       });
   }
    $('.pop-up').fadeToggle();
})