我的页面中有一个部分在一些Javascript的帮助下水平滚动。问题是,如果我从另一个页面引用它们,那么这些水平部分的链接就不起作用了。这里的工作示例(主导航中的“我们提供什么”子链接): http://fitnessacademysurrey.cloudlevel.me
如果我导航到博客页面然后使用“我们提供什么”子链接,他们什么都不做。
以下是链接的代码:
$(document).ready(function () {
var sildeNum = $('.page').length,
wrapperWidth = 100 * sildeNum,
slideWidth = 100/sildeNum;
$('.wrapper').width(wrapperWidth + '%');
$('.page').width(slideWidth + '%');
$('a.scrollitem').click(function(){
$('a.scrollitem').removeClass('selected');
$(this).addClass('selected');
$('#nav-subnav ul li').removeClass('active');
$('.panelHeading').addClass('hidden');
$("a.scrollitem").each(function(index) {
if($(this).hasClass("selected"))
$("#nav-subnav ul li:nth-child("+(index+1)+")").addClass("active"),
$(".panelHeading:nth-child("+(index+2)+")").removeClass("hidden");
});
$('#nextLink').removeClass('disabled');
$('#previousLink').removeClass('disabled');
if($('#nav-subnav ul li.active').is(':last-child'))
$('#nextLink').addClass('disabled');
if($('#nav-subnav ul li.active').is(':first-child'))
$('#previousLink').addClass('disabled');
var slideNumber = $($(this).attr('href')).index('.page'),
margin = slideNumber * -100 + '%';
$('.wrapper').animate({marginLeft: margin},500);
return false;
});
});
$( function() {
var hash = window.location.hash;
if (hash.length > 1) {
$("[href='" + hash + "']").click();
}
});
previousLink和nextLink用于其他导航,但我认为这不相关。
有人可以帮忙吗?
答案 0 :(得分:0)
问题是您使用JavaScript滚动页面,因此您需要添加读取哈希值的代码并找到正确的链接并单击它。
$( function() {
var hash = window.location.hash;
if (hash.length > 1) {
$("[href='" + hash + "']").click();
}
});