Мне нужна помощь с моим кодом. Я хочу иметь предыдущую и следующую кнопку, они вызовут функцию viewBlogItem (direction, cat, blogid);Получение следующего и предыдущего элемента массива json
В этой функции я буду читать json-файл, классифицируя по «категории».
Каждый blogItem имеет articleid и категорию, если щелкнуть следующую кнопку, я хочу иметь следующий blogItem.articleid и показать это (я использую append для этого). Если направление == «next», то оно выглядит, если у него есть следующий элемент в категории, если нет, тогда скройте $ ('. Next'). То же самое относится и к предыдущей кнопки $ (». Предыдущий)
blogItems.json
{
"blogItem":[
{
"id": 1,
"title": "animals blog 1",
"category":"animals",
"text":"text",
"articleid":1
},
{
"id": 2,
"title": "lifestyle blog 1",
"category":"lifestyle",
"text":"text",
"articleid": 1
},
{
"id": 3,
"title": "animals blog 2",
"category":"animals",
"text":"text",
"articleid": 2
},
{
"id": 5,
"title": "animals blog 4",
"category":"dieren",
"text":"text",
"articleid":4
},
{
"id": 4,
"title": "animals blog 5",
"category":"animals",
"text":"text",
"articleid":3
}
]
}
JQuery
function viewBlogItem(direction,cat,blogid) {
var id = "";
if(direction == "next"){
// code for showing next blogitem
//if no next then
$('').hide();
}
else{
// if no previous then hide
//code for showing previous blogitem
}
loadBlog(id);
}
function loadBlog(blogid){
$.getJSON('blogitems.json', function (data) {
$.each(data.blogItem, function (i, item) {
if (item.id == blogid) {
$('.view').append('all sorts of stuff');
return;
}
});
});
}
Я хотел бы иметь некоторые предложения по структуре мой JSon.
Вам, вероятно, нужно делать все наоборот. То есть, оставьте кнопки скрытыми, загрузите данные блога, затем определите, можно ли отображать кнопки. У вас нет информации, пока вы не получите данные своего блога с сервера. – Will
Как я могу сказать, что нет другого блога после или предыдущего? – Elvira
Вы должны создать JSON так, как вы можете использовать его в Javascript. Для каждого 'blogItem' создайте предыдущие и следующие свойства. – skobaljic