当我的网站菜单只获得"#" 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();
请帮帮我。我能做些什么。
答案 0 :(得分:0)
在您的代码中
$('a[href="' + hash + '"]')
与
var hash = '#' + this.id;
用作滚动动画的选择器,用于确定滚动到哪里以及设置活动的菜单元素。
因此,使用您所谓的完整站点链接(http://example.com#hash
)不起作用。