Autor | Zpráva | ||
---|---|---|---|
tester Profil * |
#1 · Zasláno: 3. 8. 2016, 12:59:54
Potřebuju poradit jak správně pozicovat výpis s informacemi který je umístěný v divu. K tomu používám div#panel a jquery. Div může mít libovolnou šířku, ale zpravidla se vleze do šířky. Problém mi nastává, když je výpis moc dlouhý. Div se zobrazí podle toho kde zrovna jsem na stránce, kam kliknu.
Když je div moc vysoký tak už mi div přesahuje do záporných hodnot na ose y. Ještě horší to je když jdu níže, scrolluju níž a kliknu a nic se mi nezobrazí nebo to prostě zmizelo asi někam moc nahoru na začátek stránky nebo do záporných hodnot. Výpočet: var ClientW = jQuery(window).width(); var ClientH = jQuery(window).height(); // následuje smyčka která vkládá informace do div#panel ul // dále výpočet pozice var w = $('div#panel').width(); var h = $('div#panel').height(); var y = (e.clientY > ClientH - h )?ClientH-h*2:e.clientY-h; var x = (e.clientX > ClientW - w )?ClientW-w:e.clientX; // Pak už jen pozicování divu $('#panel').css({ left: x, top: y }) Anebo aby byl pod pozicí myší pokud je tam dost místa. Prostě jde o to, aby byl vidět celý element div a nezasahovalo to do oblasti kam jsem klikl. |
||
tester Profil * |
#2 · Zasláno: 3. 8. 2016, 14:26:48
Tuším že problém je v tom že nastavuji left: a right: absolutní pozici od začátku dokumentu. Ale $(element).height() nastavuji číslo které se vztahuje pouze k aktuální obrazovce. Jak bych mohl zjistit jaká je vzdálenost od začátku dokumentu až po začátek aktuální obrazovky (levý horní okraj obrazovky)?
|
||
Časová prodleva: 8 let
|
0