2016-11-26 2 views
1

У меня есть интерфейс слайдов в jQuery, который загружает файл JSON на каждом новом слайде. Файлы JSON называются последовательными числовыми значениями (1.json, 2.json ..) для определения порядка слайдов. Я хотел бы, чтобы это значение в объекте («index-position»), а не имя файла.Загрузить файл JSON по значению объекта

Мой вопрос в том, как загрузить эти файлы последовательно одним и тем же образом - но вместо загрузки заказа по имени файла загрузите их по позиции индекса?

Моя догадка заключается в том, что это означает создание массива значений «индекс-позиция» всех файлов и связывания каждого индекса с именем файла, но, возможно, существует более простой/более эффективный метод?

Thanks

+0

Либо вы можете использовать 'array' или объект на основе индекса для отображения данных файла; – itzmukeshy7

ответ

2

Вы можете прочитать содержимое JSON перед (читай «индекс-позиция») и установите его в свой глобальный массив.

Что-то вроде:

var slides = []; 
$.getJSON("ajax/fileName.json", function(data) { 
    var index = data["index-position"]; 
    slides[index] = data; 
} 
1

Никакое волшебное решение. Вы должны получить файлы, связанные с индексом в некотором формате (например, ["1.json", "2.json"]). Вы можете поместить эту информацию в другом внешнем файле и использовать его, или вы можете сохранить запрос сети, что делает его трудно закодированы в коде, например:

var files = ["1.json", "2.json"]; 
1
var obj = {}; 


for (i = 0; i<10; i++) 
{ 

obj[i] = i + ".json"; 
} 
console.log(obj[0], obj[1]); 

//0.json, 1.json

Смежные вопросы