>  기사  >  웹 프론트엔드  >  Ajax는 더 많은 데이터 그림을 로드하기 위해 클릭을 인식합니다(사전 로드).

Ajax는 더 많은 데이터 그림을 로드하기 위해 클릭을 인식합니다(사전 로드).

青灯夜游
青灯夜游앞으로
2018-10-11 17:59:323056검색

이 기사에서는 ajax가 더 많은 데이터 사진을 로드하는 효과를 얻을 수 있는 방법을 소개합니다. 이는 특정 참고 가치가 있으므로 도움이 될 수 있습니다.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>ajax点击加载更多数据--博客园--勇淘未来</title>
        <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
        <style>
            *{padding:0;margin:0;}
            .box {margin: 100px auto;width: 550px;}
            ul li {width:550px;list-style: none;}
            ul li span{text-align:center;display:block;}
            .clear {clear: both;}
            .load {text-align: center;display: none;margin-top:50px;color:#ccc;}
            .end{display:none;color:#ccc;}
        </style>
    </head>
    <body>
        <div class="box">
            <ul></ul>
            <div class="clear"></div>
            <div class="load">加载中...</div>
            <div class="more" style="text-align: center;margin-top:50px;">
                <button class="btn">查看更多图片</button>
                <div class="end">没有更多了</div>
            </div>
        </div>
        <script>
            var num = 0;
            var start = 0;
            var size = 2;
            $.ajax({
                url: "dataNews.json",
                type: "get",
                success: function(res){
                    var str = "";
                    for(var i = 0;i < 2;i++){
                        str += "<li><img src=" + res[i].img + "><span>"+ res[i].title +"</span></li>";
                    }
                    $(".box ul").append(str);
                },
                error:function(){
                    console.log(errors);
                }
            })
            $(".btn").click(function(){
                $(".load").show();
                setTimeout(function(){
                    $(".load").hide();
                    num++;
                    console.log(num);
                    start = num * size;
                    $.ajax({
                        url:"dataNews.json",
                        type:"get",
                        success:function(res){
                            var sum = res.length;
                            if(start + size > sum) {
                                size = sum - start;
                                $(".btn").css("display","none");
                                $(".end").css("display","block");
                            }
                            var str = "";
                            for(var i = start;i<(start + size);i++) {
                                str += "<li><img src=" + res[i].img + "><span>"+ res[i].title +"</span></li>";
                            }
                            console.log(start + size);
                            $("ul").append(str);
                        }
                    });
                },300)
            }
        )
        </script>
</body>
</html>

로컬 테스트 dataNews.json 파일:

[ {
	"img":"img/sina.jpg","title":"百度音乐1"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐2"
}
, {
	"img":"img/sina.jpg","title":"百度音乐3"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐4"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐5"
}
, {
	"img":"img/sina.jpg","title":"百度音乐6"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐7"
}
, {
	"img":"img/sina.jpg","title":"百度音乐8"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐9"
}
, {
	"img":"img/sina.jpg","title":"百度音乐10"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐11"
}
, {
	"img":"img/sina.jpg","title":"百度音乐12"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐13"
}
, {
	"img":"img/sina.jpg","title":"百度音乐14"
}
, {
	"img":"img/tengxu.jpg","title":"百度音乐15"
}
]

더 많은 사진을 클릭하면 2개의 데이터가 로드됩니다. 데이터가 로드되면 "더 이상 없음"이 표시됩니다.

요약: 위 내용은 이 내용의 전체 내용입니다. 모든 분들의 공부에 도움이 되는 글이 되었으면 좋겠습니다. 더 많은 관련 튜토리얼을 보려면 AJAX 비디오 튜토리얼을 방문하세요!

위 내용은 Ajax는 더 많은 데이터 그림을 로드하기 위해 클릭을 인식합니다(사전 로드).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제