MediaWiki:Common.js: Różnice pomiędzy wersjami
Wygląd
Nie podano opisu zmian Znacznik: Wycofane |
Znacznik: Anulowanie edycji |
||
| (Nie pokazano 6 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 1: | Linia 1: | ||
// === | // === Nowy przycisk "Wróć na górę" z SVG === | ||
const scrollButton = document.createElement("button"); | const scrollButton = document.createElement("button"); | ||
scrollButton.id = "scrollTopBtn"; | scrollButton.id = "scrollTopBtn"; | ||
| Linia 11: | Linia 11: | ||
document.body.appendChild(scrollButton); | document.body.appendChild(scrollButton); | ||
// Akcja kliknięcia | // Pokaż/ukryj w zależności od scrolla | ||
scrollButton.onclick = () | window.onscroll = function() { | ||
const btn = document.getElementById("scrollTopBtn"); | |||
if (document.body.scrollTop > 300 || document.documentElement.scrollTop > 300) { | |||
btn.style.display = "flex"; | |||
btn.style.alignItems = "center"; | |||
btn.style.justifyContent = "center"; | |||
} else { | |||
btn.style.display = "none"; | |||
} | |||
}; | |||
// Akcja kliknięcia | |||
scrollButton.onclick = function() { | |||
window.scrollTo({ top: 0, behavior: 'smooth' }); | window.scrollTo({ top: 0, behavior: 'smooth' }); | ||
}; | }; | ||
$(document).ready(function () { | $(document).ready(function() { | ||
var scrollBtn = document.getElementById("scrollTopBtn"); | |||
window.addEventListener("scroll", () | window.addEventListener("scroll", function() { | ||
var footerHeight = document.querySelector(".mw-footer") ? document.querySelector(".mw-footer").offsetHeight : 0; | |||
var windowHeight = window.innerHeight; | |||
var bodyHeight = document.body.scrollHeight; | |||
var scrollY = window.scrollY; | |||
// | // Czy jesteśmy blisko stopki? | ||
if (scrollY > | if (scrollY + windowHeight > bodyHeight - footerHeight) { | ||
scrollBtn.style. | scrollBtn.style.bottom = (footerHeight + 20) + "px"; // przesuń w górę | ||
} else { | } else { | ||
scrollBtn.style. | scrollBtn.style.bottom = "100px"; // normalnie | ||
} | } | ||
}); | |||
// Pokaż przycisk po scrollu | |||
if ( | window.addEventListener("scroll", function() { | ||
scrollBtn.style. | if (document.documentElement.scrollTop > 200) { | ||
scrollBtn.style.display = "block"; | |||
} else { | } else { | ||
scrollBtn.style. | scrollBtn.style.display = "none"; | ||
} | } | ||
}); | }); | ||
}); | }); | ||
Aktualna wersja na dzień 21:36, 4 maj 2025
// === Nowy przycisk "Wróć na górę" z SVG ===
const scrollButton = document.createElement("button");
scrollButton.id = "scrollTopBtn";
scrollButton.title = "Wróć na górę";
scrollButton.innerHTML = `
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="#1a1a1a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up">
<line x1="12" y1="19" x2="12" y2="5"></line>
<polyline points="5 12 12 5 19 12"></polyline>
</svg>
`;
document.body.appendChild(scrollButton);
// Pokaż/ukryj w zależności od scrolla
window.onscroll = function() {
const btn = document.getElementById("scrollTopBtn");
if (document.body.scrollTop > 300 || document.documentElement.scrollTop > 300) {
btn.style.display = "flex";
btn.style.alignItems = "center";
btn.style.justifyContent = "center";
} else {
btn.style.display = "none";
}
};
// Akcja kliknięcia
scrollButton.onclick = function() {
window.scrollTo({ top: 0, behavior: 'smooth' });
};
$(document).ready(function() {
var scrollBtn = document.getElementById("scrollTopBtn");
window.addEventListener("scroll", function() {
var footerHeight = document.querySelector(".mw-footer") ? document.querySelector(".mw-footer").offsetHeight : 0;
var windowHeight = window.innerHeight;
var bodyHeight = document.body.scrollHeight;
var scrollY = window.scrollY;
// Czy jesteśmy blisko stopki?
if (scrollY + windowHeight > bodyHeight - footerHeight) {
scrollBtn.style.bottom = (footerHeight + 20) + "px"; // przesuń w górę
} else {
scrollBtn.style.bottom = "100px"; // normalnie
}
});
// Pokaż przycisk po scrollu
window.addEventListener("scroll", function() {
if (document.documentElement.scrollTop > 200) {
scrollBtn.style.display = "block";
} else {
scrollBtn.style.display = "none";
}
});
});