замедлить прыжок на якорь в теме Divi - PullRequest
2 голосов
/ 18 июня 2019

Я использую Divi Theme, и после многих испытаний я не нашел, как можно замедлить прокрутку анимации при прыжке на якорь.Это страница моего сайта с множеством якорей https://anekitalia.com/come-raggiungerci/, нажав на любое изображение, вы перейдете к соответствующему разделу.Есть файл custom.js, который, я думаю, связан с этим, внутри есть функция

et_page_load_scroll_to_anchor()

Я отредактировал

var speed    = (distance > 4000) ? 1600 : 800;

для этого

var speed    = 200;

но ничего не изменилось.Я знаю, что эта тема использует SmoothScroll для веб-сайтов v1.2.1 для прокрутки анимации, но редактирование smoothscroll, настройки js изменяет только способ прокрутки с помощью мыши, а не ссылки привязки. Любая отправная точка для этого?большое спасибо

1 Ответ

0 голосов
/ 19 июня 2019

это часть кода, расположенная в /wp-content/themes/Divi/js/custom.js, вам просто нужно изменить параметры et_pb_smooth_scroll

$( 'a[href*="#"]:not([href="#"])' ).click( function() {
    var $this_link = $( this ),
        has_closest_smooth_scroll_disabled = $this_link.closest( '.et_smooth_scroll_disabled' ).length,
        has_closest_woocommerce_tabs = ( $this_link.closest( '.woocommerce-tabs' ).length && $this_link.closest( '.tabs' ).length ),
        has_closest_timetable_tab = $this_link.closest( '.tt_tabs_navigation' ).length,
        has_closest_eab_cal_link = $this_link.closest( '.eab-shortcode_calendar-navigation-link' ).length,
        has_closest_ee_cart_link = $this_link.closest( '.view-cart-lnk' ).length,
        has_acomment_reply = $this_link.hasClass( 'acomment-reply' ),
        is_woocommerce_review_link = $this_link.hasClass( 'woocommerce-review-link' ),
        disable_scroll = has_closest_smooth_scroll_disabled || has_closest_ee_cart_link || has_closest_woocommerce_tabs || has_closest_eab_cal_link || has_acomment_reply || is_woocommerce_review_link || has_closest_timetable_tab;

    if ( ( location.pathname.replace( /^\//,'' ) == this.pathname.replace( /^\//,'' ) && location.hostname == this.hostname ) && ! disable_scroll ) {
        var target = $( this.hash );
        target = target.length ? target : $( '[name=' + this.hash.slice(1) +']' );
        if ( target.length ) {

            // automatically close fullscreen menu if clicked from there
            if ( $this_link.closest( '.et_pb_fullscreen_menu_opened' ).length > 0 ) {
                et_pb_toggle_fullscreen_menu();
            }

            setTimeout(function() {
                et_pb_smooth_scroll( target, false, 1500 );
            }, 0);

            if ( ! $( '#main-header' ).hasClass( 'et-fixed-header' ) && $( 'body' ).hasClass( 'et_fixed_nav' ) && $( window ).width() > 980 ) {
                setTimeout(function(){
                    et_pb_smooth_scroll( target, false, 40, 'linear' );
                }, 780 );
            }

            return false;
        }
    }
});
...