1(function () { 2 var grid; 3 4 function init() { 5 grid = new Minigrid({ 6 container: '.news-list', 7 item: '.news-list-item', 8 gutter: 12 9 }); 10 grid.mount(); 11 } 12 13 // mount 14 function update() { 15 if (grid) { 16 grid.mount(); 17 } 18 } 19 20 // Minigrid rechnet die Kachelhoehen aus dem gemessenen DOM. Bei 21 // DOMContentLoaded haben die Bilder in .nli-img aber noch keine Hoehe -- 22 // sie sind zu diesem Zeitpunkt noch nicht geladen, und ohne width/height 23 // am <img> reserviert der Browser dafuer keinen Platz. Die Kacheln werden 24 // also falsch vermessen und ueberlappen oder stehen zu hoch. 25 // 26 // Beim zweiten Aufruf faellt es nicht mehr auf: dann kommen die Bilder aus 27 // dem Browser-Cache und haben ihre Masse sofort. Genau deshalb "passt es 28 // nach einem Reload". 29 // 30 // Also nach jedem geladenen Bild neu rechnen -- und zur Sicherheit noch 31 // einmal, wenn die Seite komplett geladen ist. 32 function beiBildernNachrechnen() { 33 var bilder = document.querySelectorAll('.news-list-item img'); 34 for (var i = 0; i < bilder.length; i++) { 35 if (!bilder[i].complete) { 36 bilder[i].addEventListener('load', update); 37 bilder[i].addEventListener('error', update); 38 } 39 } 40 } 41 42 if (window.innerWidth > 991) { 43 document.addEventListener('DOMContentLoaded', function () { 44 init(); 45 beiBildernNachrechnen(); 46 }); 47 window.addEventListener('load', update); 48 window.addEventListener('resize', update); 49 } 50})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.