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