鍍金池/ 問(wèn)答/PHP  HTML/ 加載到?jīng)]有了,即最后顯示沒(méi)有了,還可以點(diǎn)上去,還繼續(xù)顯示loading的樣式的文

加載到?jīng)]有了,即最后顯示沒(méi)有了,還可以點(diǎn)上去,還繼續(xù)顯示loading的樣式的文字,如何解決

//分頁(yè)加載
jQuery(document).ready(function($) {

    var loading=false
    $('div#post-read-more a').click( function() {
        if(loading)return
        loading=true
        $this = $(this);
        $this.addClass('loading').text("Loading"); //給a標(biāo)簽加載一個(gè)loading的class屬性,可以用來(lái)添加一些加載效果
        var href = $this.attr("href"); //獲取下一頁(yè)的鏈接地址
        if (href != undefined) { //如果地址存在
            $.ajax( { //發(fā)起ajax請(qǐng)求
                url: href, //請(qǐng)求的地址就是下一頁(yè)的鏈接
                type: "get", //請(qǐng)求類型是get
                error: function(request) {
                    loading=false
                },
                success: function(data) { //請(qǐng)求成功
                    loading=false
                    $this.removeClass('loading').text("看更多"); //移除loading屬性
                    var $res = $(data).find(".list"); //從數(shù)據(jù)中挑出文章數(shù)據(jù),請(qǐng)根據(jù)實(shí)際情況更改
                    $('.box').append($res); //將數(shù)據(jù)加載加進(jìn)posts-loop的標(biāo)簽中。
                    var newhref = $(data).find("#post-read-more a").attr("href"); //找出新的下一頁(yè)鏈接
                    if( newhref != undefined ){
                        $("#post-read-more a").attr("href",newhref);
                        
                    }else{
                    
                        $("#post-read-more a").html("沒(méi)有了").removeAttr("href");
                        
                        
                    }
                }
    });   
}   
return false;   

});

});
加載到?jīng)]有了,即最后顯示沒(méi)有了,還可以點(diǎn)上去,還繼續(xù)顯示loading的樣式的文字,如何解決,請(qǐng)問(wèn)如何修改

回答
編輯回答
賤人曾

把 loading=true,$this.addClass('loading').text("Loading"); 放到if (href != undefined) 之后

 $('div#post-read-more a').click( function() {
        if(loading)return
        $this = $(this);
        var href = $this.attr("href"); //獲取下一頁(yè)的鏈接地址
        if (href != undefined) { //如果地址存在
            loading=true
            $this.addClass('loading').text("Loading"); //給a標(biāo)簽加載一個(gè)loading的class屬性,可以用來(lái)添加一些加載效果
            $.ajax( { //發(fā)起ajax請(qǐng)求

PS:我覺得你這個(gè)例子用button不是更合適,用data-url存下一頁(yè)的地址,你用a標(biāo)簽感覺就是為了存?zhèn)€url,要阻止默認(rèn)的跳轉(zhuǎn)事件,還要控制能不能點(diǎn)擊,相比之下,button合適多了,“沒(méi)有了”的時(shí)候?qū)utton設(shè)置成disabled,data-url存?zhèn)€下一頁(yè)的地址,妥妥的,沒(méi)有歧義

2017年5月21日 07:22