NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Center the clicked position on click-to-zoom images
// @description If a picture changes size when it's clicked, the point on the image that was clicked is scrolled as close as possible to the centre of the window.
// @include *
// @version 2
// ==/UserScript==
document.addEventListener('click', function (event) {
var i = event.target;
if (i.tagName == 'IMG') {
var op = i.getBoundingClientRect();
setTimeout( function () {
var np = i.getBoundingClientRect();
if (np.height != op.height || np.width != op.width) {
window.scrollBy((event.clientX-op.left)/op.width*np.width+np.left-innerWidth/2,
(event.clientY-op.top)/op.height*np.height+np.top-innerHeight/2);
}
}, 100);
}
}, true);