Я не совсем понимаю, как работает javascript в модели ООП, поэтому я пришел к стеку переполнения для мудрости.
Мой пример кода:
(function($) {
var $container = $('#container');
var $sidebar = $('#sidebar');
// Sidebar
var currTab = $('#s1');
if(currTab) {
currTab.parent().parent().parent().addClass('selectedTop');
currTab.find(".sideContent").delay(300).slideToggle("slow");
currTab.addClass('selected');
}
$('#sideTop').delegate('li', 'hover', function(event) {
var $this = $(this);
if (event.type == 'mouseenter') {
if(!$this.hasClass("selected")){
$this.siblings(".selected").children(".sideContent").toggle();
$this.siblings(".selected").removeClass('selected');
$this.find(".sideContent").toggle().addClass('selected');
$this.addClass('selected');
}
}
});
})(this.jQuery);
Этот код кэширует мой контейнер и div боковой панели и управляет зависанием вкладок на моей боковой панели. Они будут на каждой странице, поэтому я просто включил файл js на каждую страницу, и он работает как обычно. Теперь я дошел до того, что я хочу настроить каждую страницу с определенной вкладкой боковой панели, открытой по умолчанию (определяется переменной currTab ). Если он установлен, он открывается по умолчанию и остается открытым после того, как мышь покидает боковую панель.
Я не нашел способа настроить currTab на каждой странице без необходимости полностью заново вставлять весь код, связанный с боковой панелью, что делало любые обновления скрипта громоздкими.
Как мне подходить к этому? Спасибо