| 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.hashem 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: 13 let
|
|||
0