不要添加"活跃"菜单平滑滚动的类

时间:2014-05-10 04:00:08

标签: jquery

当我的网站菜单只获得"#" as"#about"然后添加课程#34;活跃"并且平滑滚动工作,但当菜单获得完整的网站链接为" http://swadeshit.com/demo/themeforest/joomla/reversal/#about"然后无法添加课程"活跃"并且平滑滚动不起作用。

我的代码:

/* ==============================================
Smooth Scrolling
=============================================== */
var scrollElement = 'html, body',
    $scrollElement;

$(function() {

    $('html, body').each(function () {
        if(wWidth > mobileRes) {
            var initScrollLeft = $(this).attr('scrollLeft');

            $(this).attr('scrollLeft', initScrollLeft + 1);
            if ($(this).attr('scrollLeft') == initScrollLeft + 1) {
                scrollElement = this.nodeName.toLowerCase();
                $(this).attr('scrollLeft', initScrollLeft);
                return false;
            }
        }

    });
    $scrollElement = $(scrollElement);
});

$(function() {
    var $sections = $('section.section');  

    $sections.each(function() {
        var $section = $(this);
        var hash = '#' + this.id;

        $('a[href="' + hash + '"]').click(function(event) {
            moving = true;
            if(wWidth > mobileRes) {
                $scrollElement.stop().animate({
                    scrollLeft: $section.offset().left
                }, 1200, 'easeOutCubic', function() {
                    window.location.hash = hash;
                });
            } else {
                $scrollElement.stop().animate({
                    scrollTop: $section.offset().top
                }, 1200, 'easeOutCubic');
            }
            $('nav#main-nav a').removeClass('active');
            if($(this).hasClass('content-menu-link')) {
                var link = $(this).attr('href');
                $('a[href="' + hash + '"]').addClass('active');
            } else {
                $(this).addClass('active');
            }

            var trigger = $('#responsive-nav'),
                menu = $('#main-nav ul'); 

            if(trigger.hasClass('nav-visible')) {
                menu.slideToggle();
                trigger.toggleClass('nav-visible');
            }

            event.preventDefault();
        });
    });

});

function setInitActiveMenu() {
    var hash = window.location.hash;
    $('a[href="' + hash + '"]').addClass('active');
}

setInitActiveMenu();

请帮帮我。我能做些什么。

1 个答案:

答案 0 :(得分:0)

在您的代码中

$('a[href="' + hash + '"]')

var hash = '#' + this.id;

用作滚动动画的选择器,用于确定滚动到哪里以及设置活动的菜单元素。

因此,使用您所谓的完整站点链接(http://example.com#hash)不起作用。