прокрутите вверх .offset () с использованием процента%

Я просто написал это для прокрутки страниц, которая работает нормально и делает то, что должна ..

$('#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 пикселей, но это вызывает проблему с разными размерами монитора / браузера, где% может решить эту проблему.

5
задан easwee 6 January 2015 в 09:28
поделиться