daniel1302
20.01.2015, 11:43:58
Witam, po użyciu funkcji show() z jQuery, która jest uruchamiana w evencie click()- zmienia mi sie wysokość strony, ponieważ pokazuje się box o wysokości kulku tysięcy px pod elementem w który kliknęliśmy,
I teraz jest sedno problemu:
Zakładamy, że jestem na dole(przewinęłem prawe maksymalnie) i widze stopke i klikam w element, to element w który kliknąłem ucieka mi do góry, a ja znowu widze stopke, oraz końcówke tego boxa który pojawił sie. Chciałbym dalej widzieć element w który kliknąłem. Czyli chciałbym żeby przeniosło mnie do tej pozycji gdzie jest teraz element z eventem click.
Jak to najprościej osiągnąć?
strife
20.01.2015, 11:50:24
Możesz po kliknięciu przescrollować okno do żądanej pozycji.
Np.
jQuery('html,body').animate({scrollTop:jQuery('.twoj-selector').offset().top - 20}, 500);
rad11
20.01.2015, 11:50:50
<a href="#element">click</a>
lub
function goToId(element){
$('a').on('click', function(){
$(this).attr('href', '#'+element);
});
}
goToId('a');
pod klikiem rob tak:
$('body').css({
'position':'relative',
'overflow':'hidden',
'margin':'0px auto'
});
po kliku czy tam zamknieciu tego co pokazujesz:
$('body').removeAttr('style');
daniel1302
20.01.2015, 17:37:11
Poradziłem sobie w elegancki sposób, ale dziękuje za pomoc. Po kliknięciu delikatnie (w czasie 800 ms) przesuwam element na środek. Efekt wygląda bardzo ładnie, więc zostawię. Dziękuje za odpowiedzi.