Autor | Zpráva | ||
---|---|---|---|
leonek Profil |
#1 · Zasláno: 29. 9. 2012, 22:05:31
Dobrý den,
rád bych se zeptal jestli se dá zjistit (!nikoli upravit) stav okna prohlížeče. Myslím jestli je minimalizované/maximalizované/zmenšené. Potřebuji to do JS podmínky pro zobrazení jistého obrázku na pozadí. Děkuji. |
||
_es Profil |
#2 · Zasláno: 1. 10. 2012, 10:25:54
leonek:
„Potřebuji to do JS podmínky pro zobrazení jistého obrázku na pozadí.“ A z akého dôvodu je na to treba JS? |
||
leonek Profil |
#3 · Zasláno: 1. 10. 2012, 11:52:23
Protože ten obrázek potřebuji zobrazit jen za určitých okolností. A mezi tyto okolnosti potřebuji přidat i tu jestli je okno prohlížeče v maximalizovaném stavu.
|
||
_es Profil |
#4 · Zasláno: 1. 10. 2012, 12:17:54
leonek:
„jestli je okno prohlížeče v maximalizovaném stavu“ Prečo by od toho mal závisieť obsah zobrazovaný v prehliadači? To predsa nie je žiaden rozumný dôvod. |
||
Chamurappi Profil |
#5 · Zasláno: 1. 10. 2012, 12:55:02
Reaguji na leonka:
Minimalizovanost zjistit nejspíš nejde. (Leda nějakým obskurním měřením rychlosti překreslování.) Maximalizovanost jde s jistou mírou spolehlivosti zjistit porovnáním screen.availWidth a document.body.offsetWidth , ale má-li člověk víc monitorů, nedostaneš ze screen.availWidth spolehlivá čísla.
„obrázek potřebuji zobrazit jen za určitých okolností“ Proč je důležitý zrovna stav okna? Z toho přeci nevyplývá, jak je okno (či zobrazovací plocha prohlížeče) skutečně velké. |
||
leonek Profil |
#6 · Zasláno: 1. 10. 2012, 15:14:45
Vytvořil jsem funkci na určení velikosti obrázku. Funkce má za úkol zjistit velikost použitelné plochy a podle ní pak vypočítat velikost obrázku. Pokud je použitelná plocha menší než třeba 1200px tak se obrázek nezobrazí.
Původně jsem tam měl místo screen.availWidth jen screen.width , za což děkuji Chamurappi.
Bohužel i v tomto stavu se obrázek zobrazí i když stránku aktualizuji ve zmenšeném okně. function vys() { var elem_div = document.getElementById("logo"); if (screen.availWidth > 1200) { var vyska = (screen.height) * (18/100); var elem = document.getElementById("logo_img"); elem.style.height = vyska + 'px'; elem_div.style.height = vyska + 'px'; } else { elem_div.style.display = 'none'; } } |
||
Chamurappi Profil |
#7 · Zasláno: 1. 10. 2012, 15:33:58
Reaguji na leonka:
„Vytvořil jsem funkci na určení velikosti obrázku.“ To se dá pochopit, ale proč je důležité vědět, jestli je okno maximalizované? Lidi přeci mají různá rozlišení obrazovky. „Původně jsem tam měl místo screen.availWidth jen screen.width“ Proč je důležité vědět šířku obrazovky? Není důležitější šířka plochy prohlížeče? Co když návštěvník má v prohlížeči otevřený nějaký postranní panel? Vůbec by tě neměla zajímat maximalizace/minimalizace, ani velikost rozlišení hlavního monitoru, měla by tě zajímat pouze velikost <body> (nebo <html> ).
|
||
leonek Profil |
#8 · Zasláno: 1. 10. 2012, 15:40:45
Chamurappi:
„Co když návštěvník má v prohlížeči otevřený nějaký postranní panel?“ Stránka je rozvrstvena tak, že když tam obrázek je, ale okno prohlížeče je zmenšené tak se obrázek zasouvá pod hlavní div a mizí. Je to však dosti nešťastné řešení, které se teď snažím tímto odstranit. Výška obrázku se vypočítá, ale když je okno zmenšené tak bych chtěl aby úplně zmizel. A to se neděje. Mrkněte na ten kód, jestli tam není něco špatně. |
||
leonek Profil |
#9 · Zasláno: 1. 10. 2012, 23:37:37
Tak jsem to vyřešil. Místo
screen.width jsem použil document.body.scrollWidth . Sice obrázek zmizí až po aktualizování stránky, ale výsledek je uspokojující...
Děkuji za rady, hlavně Chamurappi |
||
Časová prodleva: 12 let
|
0