Dee*_*pak 5 javascript ajax jquery json
嗨,我是javascript的noob并且做练习以提高我的技能.
我做了一个示例项目并使用getJSON从json获取数据.
它工作正常,但我想要的是先显示第三个索引数据,然后单击loadMore按钮.
首先我将用"json"填充"3 list item",之后我需要每2个li填充loadMore点击...这里是我的json数组
[
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
{
"imagepath" : "sample url",
"heading" : "sample heading",
"details" : "sample details"
},
]
Run Code Online (Sandbox Code Playgroud)
这是示例代码
$(document).ready(function(){
$('#fetchit').click(function(){
$.ajax({
url:"one.json",
cache: false,
dataType : "json",
success :function(){
//alert('bf c')
$('.hold').empty();
$.getJSON("one.json",function(data){
$.each(data ,function(i,value){
var list ="<li>" + "<img src'" + value.imagepath + "' alt=''/>" + "<span>" + value.heading + "</span>" + "<span>" + value.details + "</span>"
$('.hold').append(list)
})
})
},
error:function(xhr,status,error){
alert(xhr.status)
}
})
})
});
Run Code Online (Sandbox Code Playgroud)
这段代码只需点击一下即可获取整个json,但我想解析它或在点击时加载部分.请使用ajax getJSON或javascript帮助我.我无法做出loadMore的逻辑,我知道我们必须通过一些反击来做到这一点......
JS:-
var json = [{
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}, {
"imagepath": "sample url",
"heading": "sample heading",
"details": "sample details"
}];
jQuery(function ($) {
$.each(json, function (i, value) {
var list = "<li class='hidden' >" + "<img src'" + value.imagepath + "' alt=''/>" + "<span>" + value.heading + "</span>" + "<span>" + value.details + "</span>"
$('.hold').append(list);
});
function loadMore(){
$(".hold .hidden").slice(0,2).removeClass("hidden");
}
loadMore();
$("#btnLoadMore").on("click",loadMore);
});
Run Code Online (Sandbox Code Playgroud)
HTML:-
<div class="hold"></div>
<input type="button" id="btnLoadMore" value="Load More"/>
Run Code Online (Sandbox Code Playgroud)
CSS:-
.hidden {
display:none;
}
Run Code Online (Sandbox Code Playgroud)