在页面高度更改时绑定事件

时间:2012-08-11 08:28:44

标签: javascript jquery

每次页面高度发生变化时,我都需要执行一些javascript。

到目前为止,我正在做一些非常丑陋的事情:每当我做一些可能改变页面高度的事情时,我都会使用回调。

// initial 
positionFooter();
$(window).resize(positionFooter);

...
// some code in some function 
$(this).hide(0, positionFooter);
...

...
// some code in some function 
$(this).show(0, positionFooter);
...

...
// some code in some function 
toggle(i,p.speed, positionFooter);
...

我想找到一种方法,当页面高度发生变化时,我的函数会被自动调用。你有什么想法吗?

编辑:似乎我的问题不明确:某些事件(更改标签,加载新内​​容的ajax,切换事件......)不会触发调整大小功能。为了解决这个问题,我选择在每个事件之后手动调用该函数。它工作正常,但我找不到令人满意的解决方案。如果有办法在一个地方捕捉任何页面的高度变化,它会更清晰。

1 个答案:

答案 0 :(得分:0)

使用Jquery,$(window).resize(function)将在每次调整窗口大小时调用函数。

$(window).resize(function() {
   //Do something when the window is resized
}

如果您尝试更改CSS,可以直接在CSS中使用媒体查询

@media only screen 
and (max-device-width : 1023px) {
/* Styles */
}

@media only screen 
and (min-device-width : 1024px) {
/* Styles */
}

Jquery.resize() Media Queries

如果这不能解答您的问题,请重新说明或提供有关您正在呼叫的功能/您正在测试的浏览器的更多信息。