Я разработал небольшой виджет javscript, чтобы превратить некоторые вложенные блоки <ul>
в браузер стиля браузера Windows. Недавно я узнал об объекте буквального шаблон и решил дать ей идти, так что организация моего кода что-то вроде этого:javascript объект литеральный шаблон с несколькими экземплярами
var myExplorer = {
init : function(settings) {
myExplorer.config = {
$wrapper : $('#explorerCategories'),
$contentHolder : $j('#categoryContent'),
loadingImg : '<img src="../images/standard/misc/ajax_loader.gif" alt="loading" class="loading" />'
}
// provide for custom configuration via init()
if (settings && typeof(settings) == 'object') {
$.extend(myExplorer.config, settings);
}
// some more code...
},
createExpanderLink : function() {
// more code
},
anotherMethod : function() {
// etc
}
}
Тогда в моей странице я создал мой проводник с:
$j(function() {
myExplorer.init();
}
Все это прекрасно работает. Проблема в том, что я хочу иметь более одного из этих виджетов стиля браузера на одной странице. Я попытался прохождение в различных условиях:
$j(function() {
// first instance
myExplorer.init();
//second instance
var settings = {
$wrapper : $('#explorerCategories2'),
$contentHolder : $j('#categoryContent2')
}
myExplorer.init(settings);
}
Но это просто перезаписывает конфигурацию VALES для первого экземпляра, который эффективно разрушает его. Я начинаю понимать, что объект буквальный шаблон не путь сюда, но я не уверен, что это такое. Может ли кто-нибудь предложить какие-либо указатели?
Простите мое невежество, но правильно ли, что при использовании этого шаблона я должен сначала объявить все внутренние функции перед их использованием в пределах окружающей функции myExplorer. Я просто немного смутился вашим комментарием // init. – benb