私のコードで助けが必要です。私は前と次のボタンを持っています、これらは関数viewBlogItem(direction、cat、blogid)を呼び出します。json配列の次の要素と前の要素を取得する
この関数では、jsonファイルを「カテゴリ」で分類して読み上げます。
すべてのblogItemにはarticleidとカテゴリがあります。次のボタンをクリックすると、次のblogItem.articleidを持っていて、それを表示したい(私はそれを追加します)。方向== "次"の場合は、カテゴリに次の項目があるかどうかを調べ、そうでなければ$( '。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
Javascriptで使用できる方法でJSONを作成する必要があります。それぞれの 'blogItem'に対して、前のプロパティと次のプロパティを作成します。 – skobaljic