1

在我的网站上,每个 div 都是根据窗口大小计算的...

// Begin functions 

$(document).ready(function(){
    $('.wrapper').css({'top' : '0px','left' : '0px'});
        $('.wrapper > div').css({'height' : + $(window).height() +'px'});
});


$(document).ready(init);

// Set window height and width variables 
var windowheight = $(window).height(); 
var windowwidth = $(window).width(); 

// Check monitor sze and workot if incentives needs extra space etc 
var bff = 3620 + (1993 - windowwidth);

// Move divs into position 
$('.culture').css('top', + - windowheight + 'px');
$('.path').css('top', + - windowheight + 'px');
$('.training').css('top', + - windowheight + 'px');
$('.apply').css({
    'top' : + - windowheight + 'px',
    'width' : windowwidth + 'px'
});

以上工作正常,我的问题是,当页面加载时,如果用户然后调整那里的窗口大小,则样式会因为 div 已经加载而被丢弃,jquery 有没有办法检测到这一点,然后重新初始化以上?

4

4 回答 4

0

你为什么不使用$(window).on('resize', init)

于 2013-09-10T02:31:27.880 回答
0

$(window).resize()是的,您可以在 jQuery 中找到是否已调整窗口大小。http://api.jquery.com/resize/

于 2013-02-11T12:18:28.707 回答
0

您可以绑定到调整事件宽度 jquery,这样每次调整窗口大小时,您都可以调用您的代码来设置内容。

下一行将调用您的初始化函数:

$(window).resize(init);
于 2013-02-11T12:20:39.033 回答
0

使用窗口 onresize 会起作用。

但是,如果可能的话,我会使用纯 CSS 来实现这一点,例如:

HTML

<div id="main-container">
...
</div>

CSS

#main-container {
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px;
}

这样,浏览器将为您处理,省去计算麻烦。

这里的关键是底部和右侧样式,它们仅在 position=absolute 或 position=fixed 时有效。

于 2013-09-10T02:57:11.993 回答