/ / Ako udržať absolútne umiestnený prvok priamo nad pozíciou vloženého? - javascript, jquery

Ako udržať absolútne umiestnený prvok priamo nad polohou inline? - javascript, jquery

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ď č. 1

Začí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í.