Autor | Zpráva | ||
---|---|---|---|
Pavel Straka Profil |
#1 · Zasláno: 12. 8. 2013, 16:25:28
Dobré odpoledne, rád bych požádal zkušenější o radu s použitím Masonry ( http://masonry.desandro.com/ ). Mám problém se zobrazením divů/rámečků, pokud je v rámečku obrázek. Dočetl jsem se, že se toto vyřeší pomocí imagesLoaded ( http://masonry.desandro.com/appendix.html ), ale nevím si s tím bohužel rady.
Nejdříve je potřeba inicializovat Masonry takto: var container = document.querySelector('#container'); var msnry = new Masonry( container, { // options columnWidth: 200, itemSelector: '.item' }); Potom <div id="container"> <div class="item">1</div> <div class="item">2</div> </div> A nakonec: var container = document.querySelector('#container'); var msnry; // initialize Masonry after all images have loaded imagesLoaded( container, function() { msnry = new Masonry( container ); }); Takto to nefunguje. Díky všem za rady. |
||
Chamurappi Profil |
#2 · Zasláno: 12. 8. 2013, 16:41:56
Reaguji na Pavla Straku:
„ document.querySelector('#container'); “
Proč nepoužíváš document.getElementById("container") ?
„Nejdříve je potřeba inicializovat Masonry takto“ […] „Potom“ […] „?“ Pokud máš kód opravdu v tomto pořadí, tak v proměnné container je null . Skripty se spouštějí v okamžiku, kdy se načtou.
„A nakonec“ Jestli jsem to správně pochopil, tak tahle inicializace by měla nahradit tu výchozí. Ale vycházím ze stejných zdrojů jako ty, takže se možná pletu. Na první pohled mi Masonry připadá jako blbost. |
||
Pavel Straka Profil |
#3 · Zasláno: 12. 8. 2013, 16:47:40
Ani když tahle inicializace nahradí výchozí, nefunguje to. Jen jsem zkopíroval ty zdrojové kódy z webu Masonry.
Taky bych nejraději žádné Masonry nepoužíval, ale potřebuji to klasické zobrazení matice (styl sbazar.cz). |
||
Časová prodleva: 11 let
|
0