切换AJAX请求

时间:2013-12-03 10:25:52

标签: javascript jquery html ajax

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

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


});

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

是否有更经济的方式来实现此切换而不进行多次调用?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

})