@BohdanchukVL

Как добавить якорь в меню?

Доброго времени суток. Есть сайт на вордпрессе и в нем возникла проблема с работой якорей в навигационном меню, грешил на этот фрагмент js
$( document ).on( 'click', '.js-smooth-scroll, .js-main-nav a', smoothScrollToAnchor);
    $( '.side_dashboard_menu a' ).on( 'click', smoothScrollToAnchor);

    function smoothScrollToAnchor( evt ) {
        var anchor = MK.utils.detectAnchor( this );
        var $this = $(evt.currentTarget);
        var loc = window.location;
        var currentPage = loc.origin + loc.pathname;
        var href = $this.attr( 'href' );
        var linkSplit = (href) ? href.split( '#' ) : '';
        var hrefPage  = linkSplit[0] ? linkSplit[0] : ''; 
        var hrefHash  = linkSplit[1] ? linkSplit[1] : '';

        if( anchor.length ) {
            if(hrefPage === currentPage || hrefPage === '') evt.preventDefault();
            MK.utils.scrollToAnchor( anchor );

        } else if( $this.attr( 'href' ) === '#' ) {
            evt.preventDefault();
        }
    }


Действительно - после его отключения проблема решилась, но прокрутка к месту с якорем осуществляеться не очень красиво, я добавил код для плавной прокрутки

jQuery(document).ready(function(){	 
	jQuery('a[href^="#"]').bind('click.smoothscroll',function (e) {
		e.preventDefault();
 
		var target = this.hash,
		$target = $(target);
 
		$('html, body').stop().animate({
			'scrollTop': $target.offset().top
		}, 600, 'swing', function () {
			window.location.hash = target;
		});
	});
 
});


и проблема вернулась...
  • Вопрос задан
  • 255 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект