Теперь у меня есть плагин, который выполняет смещение прокрутки, поэтому я задал этот вопрос, я пытаюсь избавиться от него, потому что это можно сделать более эффективным способом. В любом случае этот код есть в файле JS этого плагина. Когда я его удаляю, это не влияет на плавную прокрутку и смещение прокрутки.
app.scroll = function( scrollTo ) {
app.$html_and_body.stop().animate({
'scrollTop': scrollTo // scroll and offset
}, 900, 'swing', function( evt ) {
app.initialScroll = app.isScrolling = false;
app.$html_and_body.trigger( 'hash_link_scroll_offset.complete', evt );
} );
Я также нашел этот код в файле php плагина, и когда я его удаляю, плавная прокрутка и смещение прокрутки остановлено, поэтому, возможно, мы сможем как-то объединить код и использовать его:
public function enqueue_js() {
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
wp_enqueue_script( 'hash_link_scroll_offset', self::$url . "assets/js/hash-link-scroll-offset$min.js", array( 'jquery' ), self::VERSION, true );
wp_localize_script( 'hash_link_scroll_offset', 'hlso_offset', array( 'offset' => get_option( 'hash_link_scroll_offset', 0 ) ) );
}