Как мне сделать ScrollTop на пиксели(т.е. если я нахожусь на 2-ом абзаце, меня перетащило на 2 пикселя перед этим абзацом, а не на второй пиксель элемента)?
Отличным решением будет виджет scrollTo. Даешь ему id элемента, и он едет к его началу(скорость можно отрегулировать), ну и смещение можно задать.
Либо второй способ:
var offset = $('селектор абзаца').offset();
$("html").scrollTop(offset.top - 2); // = начало абзаца - 2 пикселя