MediaWiki:Common.js: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 108: | Linha 108: | ||
} | } | ||
}); | }); | ||
| Linha 205: | Linha 200: | ||
carousel.addEventListener("mouseleave", startCarousel); | carousel.addEventListener("mouseleave", startCarousel); | ||
startCarousel(); | |||
}); | |||
/* ======================================================= | |||
CARROSSEL FARMLAND OFICIAL | |||
======================================================= */ | |||
mw.loader.using(['jquery', 'mediawiki.util']).then(function () { | |||
const carousel = document.getElementById("farmlandCarousel"); | |||
if (!carousel) return; | |||
const container = | |||
carousel.querySelector(".carousel-container"); | |||
const slides = | |||
carousel.querySelectorAll(".carousel-slide"); | |||
const prev = | |||
carousel.querySelector(".carousel-arrow.left"); | |||
const next = | |||
carousel.querySelector(".carousel-arrow.right"); | |||
const dotsContainer = | |||
carousel.querySelector(".carousel-dots"); | |||
let index = 0; | |||
let auto; | |||
// CRIAR DOTS | |||
slides.forEach(function (_, i) { | |||
const dot = document.createElement("span"); | |||
dot.className = "carousel-dot"; | |||
if (i === 0) { | |||
dot.classList.add("active"); | |||
} | |||
dot.onclick = function () { | |||
index = i; | |||
updateCarousel(); | |||
}; | |||
dotsContainer.appendChild(dot); | |||
}); | |||
const dots = | |||
carousel.querySelectorAll(".carousel-dot"); | |||
function updateCarousel() { | |||
container.style.transform = | |||
"translateX(-" + (index * 100) + "%)"; | |||
dots.forEach(function(dot) { | |||
dot.classList.remove("active"); | |||
}); | |||
dots[index].classList.add("active"); | |||
} | |||
function nextSlide() { | |||
index++; | |||
if (index >= slides.length) { | |||
index = 0; | |||
} | |||
updateCarousel(); | |||
} | |||
function prevSlide() { | |||
index--; | |||
if (index < 0) { | |||
index = slides.length - 1; | |||
} | |||
updateCarousel(); | |||
} | |||
next.onclick = nextSlide; | |||
prev.onclick = prevSlide; | |||
// AUTO PLAY | |||
function startCarousel() { | |||
auto = setInterval(function () { | |||
nextSlide(); | |||
}, 4000); | |||
} | |||
function stopCarousel() { | |||
clearInterval(auto); | |||
} | |||
carousel.addEventListener( | |||
"mouseenter", | |||
stopCarousel | |||
); | |||
carousel.addEventListener( | |||
"mouseleave", | |||
startCarousel | |||
); | |||
updateCarousel(); | |||
startCarousel(); | startCarousel(); | ||
}); | }); | ||
Edição das 17h58min de 15 de maio de 2026
/* =======================================================
ARVORE HABILIDADE - WIKI EVERLIGHT
======================================================= */
document.addEventListener('DOMContentLoaded', () => {
const cards = document.querySelectorAll('.skill-card');
cards.forEach(card => {
card.addEventListener('click', () => {
const skillName = card.querySelector('.skill-name').innerText;
console.log(`Habilidade clicada: ${skillName}`);
// Exemplo de efeito visual simples
card.style.filter = "brightness(1.2)";
setTimeout(() => {
card.style.filter = "brightness(1)";
}, 150);
});
});
});
/* =======================================================
BOTAO SUBIR TOPO DA PAGINA
======================================================= */
$(function() {
var $button = $('<button id="back-to-top" title="Voltar ao Topo">↑ Topo</button>');
$('body').append($button);
$(window).scroll(function() {
// Verifica se a posição atual + altura da janela é maior que o tamanho total - 100px
if ($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$button.fadeIn();
} else {
$button.fadeOut();
}
});
$button.click(function() {
$('html, body').animate({scrollTop: 0}, 'slow');
return false;
});
});
/* =======================================================
clases testee
======================================================= */
document.addEventListener('DOMContentLoaded', function() {
const cells = document.querySelectorAll('.ragnarok-tree td[class^="evo-"]');
cells.forEach(cell => {
// 1. Tornar a célula inteira clicável (redirecionar para o link de texto)
const link = cell.querySelector('a');
if (link) {
cell.style.cursor = 'pointer';
cell.addEventListener('click', () => { window.location.href = link.href; });
}
// 2. Lógica de Hover (Conexão Hierárquica)
cell.addEventListener('mouseenter', function() {
const familyClass = Array.from(this.classList).find(c => c.startsWith('evo-')); // ex: evo-sw
if (!familyClass || familyClass === 'evo-all') return;
const myPos = this.getAttribute('data-pos'); // Pega 0, 1 ou 2
const isClass1 = this.closest('table').previousElementSibling?.innerText.includes('Classe 1');
const isClass2 = this.closest('table').previousElementSibling?.innerText.includes('Classe 2');
if (isClass1) {
// Passou no Espadachim: Acende Cav/Temp e Lorde/Paladino
document.querySelectorAll(`.${familyClass}`).forEach(el => el.classList.add('highlight-active'));
} else if (isClass2) {
// Passou no Cavaleiro (pos 0): Acende ele mesmo e o Lorde (pos 0 na Trans)
this.classList.add('highlight-active'); // Acende si mesmo
const transRelated = document.querySelector('table:nth-of-type(3)').querySelectorAll(`.${familyClass}`);
// Procura na Transclasse quem tem a mesma posição
transRelated.forEach(el => {
if(el.getAttribute('data-pos') === myPos) {
el.classList.add('highlight-active');
}
});
} else {
// Passou na Trans: Acende apenas ela mesma
this.classList.add('highlight-active');
}
});
cell.addEventListener('mouseleave', function() {
document.querySelectorAll('.highlight-active').forEach(el => el.classList.remove('highlight-active'));
});
});
});
$(document).ready(function() {
// Evita duplicar se a página recarregar
if ($('.sidebar-logo').length === 0) {
var logoHtml = '<div class="sidebar-logo">' +
'<a href="/everlight/index.php/Página_principal">' +
'<img src="http://78.142.242.9/everlight/images/b/b0/Logo_Quadrada.png" alt="Logo Everlight">' +
'</a>' +
'</div>';
// Coloca a logo no topo do painel lateral
$('#mw-panel').prepend(logoHtml);
}
});
mw.loader.using('mediawiki.util').then(function () {
const carousel = document.getElementById("farmlandCarousel");
if (!carousel) return;
const container = carousel.querySelector(".carousel-container");
const slides = carousel.querySelectorAll(".carousel-slide");
const prev = carousel.querySelector(".left");
const next = carousel.querySelector(".right");
const dotsContainer = carousel.querySelector(".carousel-dots");
let index = 0;
let interval;
// DOTS
slides.forEach((slide, i) => {
const dot = document.createElement("span");
dot.className = "carousel-dot";
if (i === 0) {
dot.classList.add("active");
}
dot.addEventListener("click", function () {
index = i;
updateCarousel();
});
dotsContainer.appendChild(dot);
});
const dots = carousel.querySelectorAll(".carousel-dot");
function updateCarousel() {
container.style.transform =
"translateX(-" + (index * 100) + "%)";
dots.forEach(function(dot) {
dot.classList.remove("active");
});
dots[index].classList.add("active");
}
function nextSlide() {
index++;
if (index >= slides.length) {
index = 0;
}
updateCarousel();
}
function prevSlide() {
index--;
if (index < 0) {
index = slides.length - 1;
}
updateCarousel();
}
next.onclick = nextSlide;
prev.onclick = prevSlide;
// AUTO PLAY
function startCarousel() {
interval = setInterval(function () {
nextSlide();
}, 4000);
}
function stopCarousel() {
clearInterval(interval);
}
carousel.addEventListener("mouseenter", stopCarousel);
carousel.addEventListener("mouseleave", startCarousel);
startCarousel();
});
/* =======================================================
CARROSSEL FARMLAND OFICIAL
======================================================= */
mw.loader.using(['jquery', 'mediawiki.util']).then(function () {
const carousel = document.getElementById("farmlandCarousel");
if (!carousel) return;
const container =
carousel.querySelector(".carousel-container");
const slides =
carousel.querySelectorAll(".carousel-slide");
const prev =
carousel.querySelector(".carousel-arrow.left");
const next =
carousel.querySelector(".carousel-arrow.right");
const dotsContainer =
carousel.querySelector(".carousel-dots");
let index = 0;
let auto;
// CRIAR DOTS
slides.forEach(function (_, i) {
const dot = document.createElement("span");
dot.className = "carousel-dot";
if (i === 0) {
dot.classList.add("active");
}
dot.onclick = function () {
index = i;
updateCarousel();
};
dotsContainer.appendChild(dot);
});
const dots =
carousel.querySelectorAll(".carousel-dot");
function updateCarousel() {
container.style.transform =
"translateX(-" + (index * 100) + "%)";
dots.forEach(function(dot) {
dot.classList.remove("active");
});
dots[index].classList.add("active");
}
function nextSlide() {
index++;
if (index >= slides.length) {
index = 0;
}
updateCarousel();
}
function prevSlide() {
index--;
if (index < 0) {
index = slides.length - 1;
}
updateCarousel();
}
next.onclick = nextSlide;
prev.onclick = prevSlide;
// AUTO PLAY
function startCarousel() {
auto = setInterval(function () {
nextSlide();
}, 4000);
}
function stopCarousel() {
clearInterval(auto);
}
carousel.addEventListener(
"mouseenter",
stopCarousel
);
carousel.addEventListener(
"mouseleave",
startCarousel
);
updateCarousel();
startCarousel();
});