У меня возникли некоторые проблемы при попытке управлять областью при использовании getJSON.
Так что на странице HTML у меня есть неупорядоченный список, который должен быть заполнен элементами списка из файла JSON.Список разметки для карусели.
HTML:
<ul class="carousel"></ul>
JS:
grabJSON : function() {
$.getJSON('file.json', function(data) {
var items = [];
$.each(data.foo, function(k, v) {
items.push('<li>' + v.bar + '</li>');
}
$('ul.carousel').append(items.join(''));
// carousel action here
$('ul.carousel').carouselFunction({
// carousel options here
});
});
}
В настоящее время я должен поместить функцию карусели в функцию getJSON.Если я сделаю другую функцию для настройки карусели, я потеряю область действия в getJSON.
Каков предпочтительный метод решения этой проблемы, чтобы я мог получить setupCarousel : function()
, который вызывается из getJSON?Обычно, если я хочу вызвать функцию из другой функции в объекте, я могу просто перейти на this.setupCarousel()
, однако с вложенной областью действия я не уверен, как с этим справиться.
Кроме того, за пределами функции getJSON у меня нет доступа ни к одному из добавленных элементов.Так что я могу получить доступ к ul, но не к любому из элементов списка, созданных при добавлении их из getJSON.