ahead – 1200×100

PLAY.CZ

Právě poslouchá celkem 13347 posluchačů.

Seznam rádií

Seznam stylů

Seznam krajů

"Web Slices" po druhé – aneb když něco najde, JavaScript pomůže

0 Ladislav Soukup 27.4.2010

Web Slices mají jeden zásadní problém…. Pop-up okno, do kterého se otvírá obsah web slices má dosti omezený rozměr ale hlavně nejde nijak specifikovat. Největší problém je, že pokud je stránka moc dlouhá, tak se prostě uřízne a hotovo. Bláhově jsem si myslel, že nastavením height na 100% dosáhnu změny… nedosáhnu… 100% odpovídá celé stránce včetně té neviditelné části…
Naštěstí existuje záchrana… JavaScript a funkce document.documentElement.clientHeight, která vrátí reálnou výšku zobrazené části stránky.
Takže stačí málo…

1. upravit element body


2. přidat jeden blok div


  -OBSAH-

3. přidat JavaScript (doporučuji na konec stránky

A to je vše 🙂
JavaScriptová funkce při každé změně rozměru zjistí aktuální výšku viditelné části a spočítá výšku div bloku. V mém případě se od spočítané výšky odčítá konstanta 60, protože jsem u web slicu měl hlavičku o výšce 50 pixelů a nějaké odražení mezi bloky – tj. tuto konstantu si musíte určit.
Šířka je nastavena na 98%, protože v mém případě byla akorát… v obou extrémech (úzké nebo široké okno) byl scrollbar vidět celý a nebylo kolem ani zbytečně moc místa.
Výška je v CSS nastavena na “200px”, ale v podstatě okamžitě se změní, takže na této hodnotě vlastně nezáleží – jen pokud by si uživatel zakázal JavaScript.
První spuštění přepočtu výšky provádím pomocí zpožděného volání a funkce setTimeout – prostě proto, že při jiných způsobech zavolání se vracela chybná výška.