获取json数组的下一个和上一个元素

埃尔维拉

我的代码需要帮助。我想要一个上一个和下一个按钮,这些将调用函数viewBlogItem(direction,cat,blogid);

在该函数中,我将读取json文件,并按“类别”进行分类。

每个blogItem都有一个articleid和一个类别,如果单击“下一步”按钮,我想拥有下一个blogItem.articleid并显示该博客对象(我对那个对象使用append)。如果direction ==“ next”,则查找是否有类别中的下一项,如果没有,则隐藏$('。next')。前一个按钮$('。previous')也是如此

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的结构提出一些建议。

将要

我怎么能知道之前或之后的另一个博客?

查看当前博客项目的索引,查看下一个是否大于数组中的项目数,或者前一个小于0。

var blogs = {
    "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
    }]
};

var index = 0;
var item = blogs.blogItem[index];

var title = document.getElementById('title');
var text = document.getElementById('text');
var previous = document.getElementById('previous');
var next = document.getElementById('next');

displayItem(item);

previous.addEventListener('click', function() {
    displayItem(blogs.blogItem[--index]);
});

next.addEventListener('click', function() {
    displayItem(blogs.blogItem[++index]);
});

function displayItem(item) {
    title.innerText = item.title;
    text.innerText = item.text;
    previous.disabled = index <= 0;
    next.disabled = index >= blogs.blogItem.length -1;
}
[disabled] {
    opacity: 0.5;
}
<link href="//cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet"/>
<div class="container">
  <div>
    <div id="title"></div>
    <div id="text"></div>
  </div>
  <button id="previous">Previous</button>
  <button id="next">Next</button>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取数组中的下一个和上一个元素,Ruby

来自分类Dev

抓取数组中的上一个和下一个元素

来自分类Dev

尝试使用索引获取数组的上一个和下一个项目

来自分类Dev

获取下一个和上一个对象的JSON

来自分类Dev

获取下一个和上一个对象的JSON

来自分类Dev

下一个数组元素必须从上一个开始

来自分类Dev

Ember.js数组的上一个/下一个元素

来自分类Dev

获取有序集合中的上一个和下一个元素

来自分类Dev

AngularJS和JSON-从上一个和下一个对象获取值

来自分类Dev

依靠上一个和下一个元素进行流处理

来自分类Dev

列表中的Python Compare元素与上一个和下一个

来自分类Dev

下一个和上一个元素的CSS选择器

来自分类Dev

循环中的上一个和下一个元素

来自分类Dev

使用下一个和上一个按钮循环遍历li元素

来自分类Dev

循环中的上一个和下一个元素

来自分类Dev

在js数组中查找下一个和上一个键

来自分类Dev

循环显示数组的下一个和上一个键

来自分类Dev

在Queryable上获取下一个和上一个

来自分类Dev

获取下一个和上一个CakePHP 2的Paginator的URL

来自分类Dev

使用ajax请求获取上一个和下一个对象

来自分类Dev

学说-获取下一个和上一个记录

来自分类Dev

在Elasticsearch中按日期获取上一个和下一个文档

来自分类Dev

如何获取jQuery getJSON下一个和上一个

来自分类Dev

根据视图获取下一个和上一个MySQL ID

来自分类Dev

获取下一个和上一个CakePHP 2的Paginator的URL

来自分类Dev

SQL查询以获取最近的上一个和下一个日期?

来自分类Dev

获取下一个数组元素

来自分类Dev

使用javascript的下一个和上一个JSON数据

来自分类Dev

根据上一个和下一个元素将元素插入列表

Related 相关文章

热门标签

归档