微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何只调用一次ajax

我从这段代码调用函数
<div id="header-button-news" class="header-button-info">
        <a href="javascript:;" title="Новости" onclick="showNews()"></a>
        <div class="new">2</div>
    </div>

我的功能

function showNews()
{          
        //other js which show block 

        jQuery("#loader").show();


        //ajax which load content to block
        jQuery.ajax({
            type: "GET",url: link,dataType: "html",success: function(data) {
                jQuery('#top-info-news').html(data);   
            },complete: function(){
                jQuery('#loader').hide();
            },});
}

我怎样才能进行一次ajax调用?所以当加载内容并且页面没有被刷新而不加载ajax时?我试图做布尔变量,但没有,我支持它是因为我每次调用函数.请告诉我怎么做.

谢谢

当你想在那个事件上做点什么的时候.

确定何时已加载数据.

var loaded = false;

function showNews() {
    //other js which show block 

    jQuery("#loader").show();


    if(loaded) return;

    //ajax which load content to block
    jQuery.ajax({
        type: "GET",success: function(data) {
            jQuery('#top-info-news').html(data);   
        },complete: function(){
            jQuery('#loader').hide();
        },});

    loaded = true;
}

或者使用一个.当你想打电话一次.

<a href="javascript:;" title="Новости" onclick="showNews()" class="showNews"></a>

jQuery('.showNews').one('click',function() {
    // your code
});

“将处理程序附加到元素的事件.每个元素最多执行一次处理程序.”

reference

原文地址:https://www.jb51.cc/ajax/160173.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐