您绝对应该熟悉浏览器中的调试工具。我的偏好是 Chrome 中的开发人员工具(CMD+alt+i
在 Mac 上,F12
在 Windows 上)。Google 提供了一个很棒的指南,可以帮助您入门。
如果您查看控制台选项卡,您会发现resizePanel
当您调整主页上的窗口大小时,您的 JavaScript 会在方法中引发错误。
如果您查看元素面板并调整窗口大小,您会看到某些东西正在将遮罩元素的高度设置为窗口大小。
要修复这两个错误,请尝试按如下方式更新您的代码:
$(document).ready(function() {
$('a.panel').click(function () {
$('a.panel').removeClass('selected');
$(this).addClass('selected');
current = $(this);
$('#wrapper').scrollTo($(this).attr('href'), 800);
return false;
});
$(window).resize(function () {
resizePanel();
});
});
function resizePanel() {
width = $(window).width();
height = $(window).height();
mask_width = width * $('.item').length;
$('#debug').html(width + ' ' + height + ' ' + mask_width);
// These lines are erroneously setting the height of the mask to the
// height of the window so when the user scrolls down, an area of
// unmasked content is visible.
//$('#wrapper, .item').css({width: width, height: height});
//$('#mask').css({width: mask_width, height: height});
// Try updating as follow as kpsuperplane has suggested
$('#wrapper, .item').css({width: width});
$('#mask').css({width: mask_width});
// This was throwing an error because no anchor elements have
// the selected class when the page is first hit
if ($('a.selected').length) {
$('#wrapper').scrollTo($('a.selected').attr('href'), 0);
}
}