cssのzoomプロパティを使用した状態で、jQueryのoffsetメソッドを使用すると正しい値を取得することができない。
一方で、ネイティブのoffsetTopを使用すれば、cssにzoomを使用していても正しい値を取得することができる。
従って以下のようにコードを書き換えると良い。
jQuery:
var target = $( '#target' ).offset().top;
↓
Native JavaScript:
var target = $( '#target' ).get( 0 ).offsetTop