Autor | Zpráva | ||
---|---|---|---|
_Martin Profil * |
#1 · Zasláno: 21. 5. 2012, 19:29:01 · Upravil/a: _Martin
Ahoj,
mám odkaz ve tvaru www.example.com/uvod#kontakt
Jak se dá prohlížeči zabránit, aby najel na kotvu? Používá jQuery a tak jsem zkoušel $(window).load(function() { if(window.location.hash) { $(window).scrollTop(0); } }); To funguje dobře ve Firefoxu, ale Chrome sjede na kotvu a pak skočí nahoru. Není to pěkné, když takhle stránka skáče. Jaké používáte řešení vy? Ukázka je k dispozici zde: http://jsbin.com/ajafor/4#hello při detailnějším pozorování si můžete všimnout jak posuvník jede dolu a pak rychle nahoru. |
||
Chamurappi Profil |
#2 · Zasláno: 21. 5. 2012, 19:40:30
Reaguji na _Martina:
„Jaké používáte řešení vy?“ Žádné. Vůbec nechápu, proč bych tomu měl chtít zabránit. Kdybych to opravdu potřeboval, vypsal bych kotvu s location.hash em na začátek stránky. Ale pak bych se bál, že to rozbije skripty ve starších Explorerech.
|
||
_Martin Profil * |
#3 · Zasláno: 21. 5. 2012, 20:36:53 · Upravil/a: _Martin
Žádné. Vůbec nechápu, proč bych tomu měl chtít zabránit.
Mám několik skupin polí. Z každé si javascriptem vyberu nadpis skupiny (legend) a id fieldsetu. Následně vytvořím horizontální záložky. Každá záložka je odkaz s kotvou (#fieldset-id). Při kliknutí na záložku se zobrazí příslušná skupina (ostatní jsou skryté). Rád bych, aby si uživatelé mohli posílat odkazy na konkrétní záložky a při načtení stránky byl obsah naskrolovaný nahoru. Problém pak nastává v tom, že prohlížeče vždy sjednou přímo na záložky a vršek stránky není vidět. Zatím jsem dospěl k tomuto. $(document).ready(function() { if(window.location.hash) { var hash = window.location.hash.substring(1); window.location.hash = ''; $('#' + hash).attr('id', ''); window.location.hash = hash; } }); |
||
Časová prodleva: 12 let
|
0