Właśnie napisałem to do przewijania stron, które działa dobrze i robi to, co powinien ..przewijania do góry .offset() za pomocą procentowego%
$('#nav a').click(function(){
var sid = $(this).attr('id');
$('html,body').animate({
scrollTop: $('#'+ sid +'-content').offset().top - 200}, 1000);
return false;
});
..ale chcę przesunięcie być obliczona przez% a następnie px
czyli raczej następnie
top - 200
może być
top - 30%
wszelkie pomysły, jak to osiągnąć?
Jak zawsze, każda pomoc jest doceniana i z góry dziękuję.
szybkiej edycji:
Obecne 3 odpowiedzi (dziękuję) zdają się mnożyć za każdym razem, co nie jest to, co chcę, pragnę mieć stały odstęp 30% wysokości okna za każdym razem tak za każdym razem, gdy # id-content jest przewijane do górnych linii, mam stały umieszczony pasek boczny, który mam.
Mój obecny kod pozostawia lukę 200px, ale to powoduje problem z różnymi rozmiarami monitorów/przeglądarek, w których% to rozwiązałoby.
Tak, to jest najlepsze przesunięcie, jakiego potrzebuję, ponieważ moje kodowanie oznacza zwoje pozostawiając 200px luki od góry do id. Właśnie przetestowałem twój kod i robi to, co chcę, ale mnoży się za każdym razem, tj. Link 1 = 30%, link 2 = 60%, link 3 = 90% i tak dalej, chcę to tak luka od góry do id jest zawsze 30% – Dizzi