窗口上的jQuery调整大小我有以下JQuery代码:$(document).ready(function () {
var $containerHeight = $(window).height();
if ($containerHeight <= 818) {
$('.footer').css({
position: 'static',
bottom: 'auto',
left: 'auto'
});
}
if ($containerHeight > 819) {
$('.footer').css({
position: 'absolute',
bottom: '3px',
left: '0px'
});
}});唯一的问题是,这仅在浏览器首次加载时有效,我containerHeight还希望在调整窗口大小时进行检查?有任何想法吗?
3 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
将您的javascript移动到一个函数中,然后将该函数绑定到窗口调整大小。
$(document).ready(function () { updateContainer(); $(window).resize(function() { updateContainer(); });});function updateContainer() { var $containerHeight = $(window).height(); if ($containerHeight <= 818) { $('.footer').css({ position: 'static', bottom: 'auto', left: 'auto' }); } if ($containerHeight > 819) { $('.footer').css({ position: 'absolute', bottom: '3px', left: '0px' }); }}
慕丝7291255
TA贡献1859条经验 获得超6个赞
jQuery有一个resize事件处理程序,你可以将它附加到窗口,.resize()。因此,如果您放置,$(window).resize(function(){/* YOUR CODE HERE */})
那么每次调整窗口大小时都会运行您的代码。
所以,你想要的是在第一次加载页面后以及调整窗口大小时运行代码。因此,您应该将代码拉入自己的函数并在两个实例中运行该函数。
// This function positions the footer based on window sizefunction positionFooter(){ var $containerHeight = $(window).height(); if ($containerHeight <= 818) { $('.footer').css({ position: 'static', bottom: 'auto', left: 'auto' }); } else { $('.footer').css({ position: 'absolute', bottom: '3px', left: '0px' }); } }$(document).ready(function () { positionFooter();//run when page first loads});$(window).resize(function () { positionFooter();//run on every window resize});
- 3 回答
- 0 关注
- 777 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消