Я только что написал это для прокрутки страниц, которая работает нормально и делает то, что должна ..
$('#nav a').click(function(){
var sid = $(this).attr('id');
$('html,body').animate({
scrollTop: $('#'+ sid +'-content').offset().top - 200}, 1000);
return false;
});
.. но я хочу, чтобы смещение вычислялось на%, а не на px
то есть, а не
top - 200
это могут быть
top - 30%
какие-либо идеи, как этого добиться?
Как всегда, любая помощь приветствуется и спасибо заранее.
Быстрое редактирование:
Текущие 3 ответа (спасибо), кажется, умножаются каждый раз, что не то, что я хочу, я хочу иметьпостоянный зазор в 30% высоты окна каждый раз, поэтому каждый раз, когда # id-контент прокручивается до верхних строк с фиксированной позиционной боковой панелью, которая у меня есть.
Мой текущий код оставляет пробел в 200px, но это вызываетпроблема с различными размерами монитора / браузера, где% будет разбираться.