jqery-Ajax-Problem – Stapelüberlauf
phpcn_u1582
phpcn_u1582 2017-07-05 10:48:17
0
1
691

Meine Frage ist diese

Wenn Sie auf den Link „Weiter hinzufügen“ klicken, nachdem 5 Elemente angezeigt wurden, klicken Sie einmal, um die angegebene Datenmenge hinzuzufügen, bis die Daten in der JSON-Datei abgerufen werden.
Das heißt, nachdem 5 Elemente angezeigt wurden, beim ersten Klicken Es wird 7, 8 angezeigt, beim zweiten Mal werden 9, 10, 11 usw. angezeigt. Gibt es eine Möglichkeit, es zu lösen?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
    <title>测试</title>
    <script src="../web/js/jquery-3.2.1.min.js"></script>
    <script src="text.json"type="application/json"></script>
</head>
<body>
<p id="btn">点击</p>
<p id="json">

</p>
<a href="javascript:void(0)" class="clicks" style="display: none">继续添加</a>
<p class="num"></p>
<p class="ccc"></p>
<script>
    $(document).ready(function () {

        $('#btn').click(function () {
            var json=$('#json');
            var num=0;
            var p=$('p');
            json.append('<p class="json"></p>')
            $.ajax({
                type:'post',
                url:'text.json',
                data:null,
                dataType:'json',
                success:function (ress) {
                    var str;
                    str='';
                    $.each(ress,function (index,res) {
                        if(num<5){
                            str+='<p class="lens"><span>名称:'+res['tip']+'</span></br>';
                            str+='<span>作者:'+res['author']+'</span></br></p>';

                            $('.clicks').css({
                                display:'block'
                            })
                            $('.num').html('已加载了'+(num+1)+'条数据....');
                        }

                        json.html(str);
                        num++;



                    });
                    var count=0;
                    $.each(ress,function (index,res) {
                        if(index>4){
                            $('.clicks:last').click(function () {
                                if(count<3){
                                    str= '<p class="lens"><span>'+res['tip']+'</span></br>' +
                                        '<span>'+res['author']+'</span></br></p>'
                                    $('#json').append(
                                        str
                                    )
                                }
                                count++
                            });
                        }
                    })

                    var str1;
                    str1=ress.length-$('.lens').length;
                    $('.ccc').html('还有'+(str1-1)+'条数据');

                },
                error:function (res) {
                    console.log(res)
                }
            })

        })
    })
</script>
<style>
    .lens{border-bottom: 2px solid red}
</style>
</body>
</html>
phpcn_u1582
phpcn_u1582

Antworte allen(1)
我想大声告诉你

第一次请求,把返回的数据存到一个数组里,下次点击的时候操作这个数组就行了,不用再次请求了

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage