|
|
| Line 1: |
Line 1: |
| /* Any JavaScript here will be loaded for all users on every page load. */ | | /* Any JavaScript here will be loaded for all users on every page load. */ |
|
| |
|
|
| |
| // ==========================================================================
| |
| // DROPDOWNS AUTOMÁTICOS PARA TODOS OS SUB-HEADINGS
| |
| // ==========================================================================
| |
| var headingSelectors = 'h2, h3, h4, h5, h6';
| |
|
| |
| // Adiciona um ponteiro de rato e um indicador visual aos títulos para o utilizador saber que dão para clicar
| |
| $(headingSelectors).filter(function() {
| |
| // Ignora títulos nativos do sistema (como o título da página principal ou menus)
| |
| return !$(this).parents('#mw-navigation, #footer, #custom-atronia-footer').length && this.id !== 'firstHeading';
| |
| }).css('cursor', 'pointer').prepend('<span class="wiki-toggle-indicator">▼</span>');
| |
|
| |
| // Lógica do Clique para recolher/expandir o conteúdo
| |
| $(headingSelectors).click(function() {
| |
| var $currentHeading = $(this);
| |
| var currentLevel = parseInt(this.tagName.substring(1)); // Extrai o número do heading (ex: H3 -> 3)
| |
| var $indicator = $currentHeading.find('.wiki-toggle-indicator');
| |
|
| |
| // Alterna o estado visual da seta indicadora
| |
| $indicator.toggleClass('collapsed');
| |
|
| |
| // Percorre todos os elementos seguintes (irmãos) no DOM
| |
| $currentHeading.nextAll().each(function() {
| |
| var $nextElement = $(this);
| |
|
| |
| // Se encontrar um cabeçalho...
| |
| if ($nextElement.is(headingSelectors)) {
| |
| var nextLevel = parseInt(this.tagName.substring(1));
| |
| // Se o nível for igual ou superior (ex: H2 a encontrar outro H2, ou H3 a encontrar um H2), para o loop
| |
| if (nextLevel <= currentLevel) {
| |
| return false; // Quebra o .each()
| |
| }
| |
| }
| |
|
| |
| // Alterna a visibilidade dos elementos de conteúdo pertencentes a esta secção
| |
| $nextElement.toggleClass('wiki-heading-collapsed');
| |
| });
| |
| });
| |
|
| |
|
|
| |
|