Javascript 调整窗口大小/最大化窗口时,背景/内容下半部分消失
因此,我的网站开始走到一起相当好,但我有这个问题,所有不是在屏幕上的东西都必须消失,当我把窗口最大化模式 谷歌Chrome、Firefox和IE 10也出现了这个问题 我不习惯这种网站结构,所以我不想在尝试修复时把事情搞得更糟。问题可能是什么 感谢您的关注:) 编辑:Javascript 调整窗口大小/最大化窗口时,背景/内容下半部分消失,javascript,jquery,html,css,jquery-plugins,Javascript,Jquery,Html,Css,Jquery Plugins,因此,我的网站开始走到一起相当好,但我有这个问题,所有不是在屏幕上的东西都必须消失,当我把窗口最大化模式 谷歌Chrome、Firefox和IE 10也出现了这个问题 我不习惯这种网站结构,所以我不想在尝试修复时把事情搞得更糟。问题可能是什么 感谢您的关注:) 编辑: 转到maximized window中的页面,当您将其从maximized(而不是minimize,只是将其缩小)中取出时,som内容将消失:当窗口调整大小时,javascript会在某个地方为您的包装器添加固定高度,我会尝试找出
转到maximized window中的页面,当您将其从maximized(而不是minimize,只是将其缩小)中取出时,som内容将消失:当窗口调整大小时,javascript会在某个地方为您的包装器添加固定高度,我会尝试找出发生这种情况的原因 ----我认为这个错误导致了你的问题 未捕获类型错误:无法读取第
jquery.scrollTo.js:11行中未定义的属性“left”
不仅仅是当你调整窗口大小时,如果我切换选项卡,我也会遇到这种情况。你一定要熟悉浏览器中的调试工具。我更喜欢Chrome中的开发者工具(Mac上的CMD+alt+i
,Windows上的F12
)。谷歌有一个很好的指南让你开始学习
如果查看console选项卡,您会发现当您调整主页上窗口的大小时,JavaScript在resizePanel
方法中抛出了一个错误
如果查看“元素”面板并调整窗口大小,您将看到有人将遮罩元素的高度设置为窗口的大小
要修复这两个错误,请尝试按如下方式更新代码:
$(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);
}
}
改变
$('#wrapper, .item').css({width: width, height: height});
$('#mask').css({width: mask_width, height: height});
到
在您的resizePanel()
js函数中(如果您查看源代码,可以在头部的script标记中找到它)调整大小后,将滚动到底部是否将此$('#包装器').scrollTo($('a.selected').attr('href'),0)放在下面更有意义代码>?我不知道这是否是导致您看到的视觉缺陷的原因,但它确实值得解决。scrollTo的第一个参数未定义,导致插件抛出错误。当您调整大小时,请在控制台中查看一下,您会看到它。那么您建议哪种解决方案呢?kpsuperplane的建议应该可以修复您所问的错误。我的修复程序将停止JavaScript错误。这解决了上述问题,但给出了一个新问题。如果你访问该网站并将其从maximized中删除,你会看到它立即变为“联系人”页面。
$('#wrapper, .item').css({width: width});
$('#mask').css({width: mask_width});