Changes

m
no edit summary
Line 222: Line 222:  
     });
 
     });
 
});
 
});
 +
 +
/*
 +
Scrolling function applied to Template:Map/ImageNode.
 +
Author: gaka
 +
*/
 +
(function(mw, $) {
 +
 +
    "use strict";
 +
   
 +
    $(document).ready(function() {
 +
 +
        console.log("Scroll v1.0.1");
 +
 +
        /**
 +
        * Scroll event propagator.
 +
        *
 +
        * E.g., an element can have a scroll (overflow:auto) and images, but scrolling it won't perform
 +
        * lazy loading for images, since scroll event is not propagated.
 +
        */
 +
 +
        $('.scrollable').each(function() {
 +
            $(this).scroll(function() {
 +
                window.dispatchEvent(new CustomEvent('scroll'));
 +
            });
 +
        });
 +
 +
        /**
 +
        * Template:Map scroll on click support.
 +
        */
 +
 +
        function updateContent() {
 +
            $(".map-node a").off("click");
 +
            $(".map-node a").click(function(e) {
 +
                var href = $(this).attr("href");
 +
                var $element = $(href);
 +
                var $container = $element.parent();
 +
                if ($element.length === 1 && $container.length === 1) {
 +
                    $container.scrollTop($container.scrollTop() - $container.offset().top + $element.offset().top);
 +
                    e.preventDefault();
 +
                }
 +
                return false;
 +
            });
 +
        }
 +
 +
        updateContent();
 +
        mw.hook("wikipage.content").add(updateContent);
 +
 +
    });
 +
 +
}(mediaWiki, jQuery));
cssedit, prechecked
1,656

edits