Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь с пагинацией (https://javascript.ru/forum/misc/70042-pomoshh-s-paginaciejj.html)

АнонимныйПарень 06.08.2017 11:32

Помощь с пагинацией
 
У меня в файле JSON есть "база данных", то есть там:
{
	"1" : {
		"name" : "Обьект 1",
		"image" : "../images/1.jpg",
		"href" : "../products/1.php"
	},
	"2" : {
		"name" : "Обьект 2",
		"image" : "../images/2.jpg",
		"href" : "../products/2.php"
	},
	"3" : {
		"name" : "Обьект 3",
		"image" : "../images/3.jpg",
		"href" : "../products/3.php"
	},
	"4" : {
		"name" : "Обьект 4",
		"image" : "../images/4.jpg",
		"href" : "../products/4.php"
	}
}


Нужно с помощью JS, Jquery или PHP выбрать эти объекты и вывести на страничку.

Вот что есть:

var posts = 0;

		$('document').ready(function () {
			loadGoods();
		});

		function loadGoods () {
			$.getJSON("../databases/padlock.json", function(data) {
				var out = '';

				for (var key in data) {
					out += '<div class="single_goods" style="padding-right: 0px; padding-left: 0px;">';
				  	out += '<b>' + data[key].name + '</b>';
				  	out += '<img src="' + data[key].image + '">'; 
				  	out += '<p> Размер: ' + data[key].size + '</p>';
				  	out += '<p> Цвет: ' + data[key].color + '</p>';
				  	out += '<div class="btn-group" style="width: 100%;">';
				  	out += '<button type="button" class="btn btn-success cost" role="group" aria-label="..." style="width: 50%;"> Описание </button>';
				  	out += '<button type="button" class="btn btn-warning cost" style="width: 50%;"> Цена: ' + data[key].cost +  '</button>';
				  	out += '</div>';
				  	out += '</div>';

				  	posts++;

				}
				$('#goods').html(out);  
			});
		};


Вопрос: как сделать так, что-бы из этого JSON файла выводились только 2 объекта на одной страничке, а на второй остальные 2 объекта? Прошу дать точный ответ! Подредактируйте код и помогите, люди!

Nexus 07.08.2017 14:27

АнонимныйПарень, жесть, конечно, то, что вы делаете, ну да ладно.
Между строками 8 и 9 затолкайте это:
var page=1,//Текущая страница
on_page=2;//Эл. на странице
data=data.slice(page*on_page-on_page,page*on_page);

Вроде так.
http://javascript.ru/array/slice


Часовой пояс GMT +3, время: 00:09.