Toto je ďalšia otázka Ako môžem zastaviť opätovné načítanie IFrame, keď zmením jeho pozíciu v DOM? ak chcete pozadie.
Mám vložený div <div id="leaderboard-slot"></div>
(s pevnou šírkou a výškou) a ďalšie div („leaderboard-loader“) ďalej nadol so stránkou so skutočným obsahom pre tento div.
Z rôznych dôvodov (pozri predchádzajúce vlákno) nemôžem jednoducho urobiť appendChild alebo podobné.
Namiesto toho dúfam, že umiestnim leaderboard-loader tak, aby zaberal miesto „vyhradené“ slotom pre leaderboardy. Použil som na to niekoľko metód jQuery:
var loader = $("leaderboard-loader");
var dest = $("leaderboard-slot");
var pos = dest.getPosition();
loader.setStyle("top", pos.y + "px");
loader.setStyle("left", pos.x + "px");
ktoré vypálim na načítanie a zmenu veľkosti dokumentu. Ak však iné prvky na stránke spôsobujú opätovné pretavenie, potom sa cieľové div presunie, ale načítač to neurobí.
Existuje bezpečný spôsob, ako to urobiť - je to potrebnépracovať, keď o stránke neviem nič iné (tj. nemôžem iba zavolať na akékoľvek iné metódy, ktoré by mohli spôsobiť preformátovanie, pretože neviem, čo to je).
Akákoľvek pomoc by bola veľmi ocenená - ďakujem :)
odpovede:
0 pre odpoveď č. 1Začínam ľutovať moja odpoveď teraz. Dúfajme, že nájdete niečo lepšie ako riešenie absolútneho umiestnenia. V duchu riešení kludgey ste ale mohli skript na zmenu polohy nazvať časovačom. povzdych.
1 pre odpoveď č. 2
Pokiaľ vašej otázke rozumiem správne, nie je potrebný Javascript. Stačí povedať leaderboard-loader
pred leaderboard-slot
tag, daj to position: absolute
a identická šírka a výška. Ak je štrbina normálnym prvkom, nakladač sa nad ňou vznáša a dokonale ju zakrýva.
<div id="leaderboard-loader"></div><div id="leaderboard-slot"></div>
0 pre odpoveď č. 3
Môžeš ich dať oba v rovnakom relatívnom umiestnení, divízia s okrajom 0, s dočasným div z-indexovaným nad pomalým nakladačom.
Nechajte ich oboch, aby boli úplne umiestnené v rodičovskej polohe, nie v okne, v pomere 0: 0 a rovnakej veľkosti.
Môžete použiť nepriehľadnosť a vyblednúť jeden, keď vyblednete druhý, alebo len vymeniť viditeľnosť: skrytá a viditeľná pre dva prvky, keď ste pripravení.