Benutzer:Revolus/gallerySize.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
document.addEventListener('DOMContentLoaded', function() {
if(typeof(gallerySize) === "undefined") {
gallerySize = 120;
}
if(typeof(galleryBorder) === "undefined") {
galleryBorder = 30;
}
var pattern = /^(.*\/)([1-9]+[0-9]*)(px[^\/]+)$/;
var galleries = document.getElementsByClassName("gallerybox");
for(var i = 0; i < galleries.length; ++i) {
var images = galleries[i].getElementsByTagName("img");
for(var j = 0; j < images.length; ++j) {
var img = images[j];
var src = img.getAttribute("src");
var e = pattern.exec(src);
if(e) {
var p = img.parentNode;
var imgN = document.createElement("img");
imgN.setAttribute("src", e[1] + Math.round(gallerySize * Number(e[2]) / 120) + e[3]);
imgN.onerror = (function(imgN, img) {
return (function() {
imgN.onerror = "";
imgN.parentNode.replaceChild(img, imgN);
return false;
});
})(imgN, img);
(p = p.parentNode).style.width = (gallerySize + galleryBorder) + "px";
p.style.padding = "0";
(p = p.parentNode).style.width = (gallerySize + 2*galleryBorder) + "px";
p.parentNode.style.width = (gallerySize + 2*galleryBorder + 5) + "px";
img.parentNode.replaceChild(imgN, img);
}
}
}
}, false);