已解决,谢谢
我已经看到很多关于 resize() 问题的近似答案,这是我的代码:
'larger()' 是我想在屏幕宽度大于等于 501 时调用的布局函数,无论设备方向如何,'smaller()' 是我想在屏幕宽度小于 501 时调用的函数。
我遇到的问题是 我不希望在 window.height 更改时调用这些函数。请注意,在我的页面中,我在移动 View 中使用 Accordion ,如果我展开 Accordion 面板,它会增加页面的高度,即使浏览器窗口没有重新调整大小。 jQuery 将其视为 window.resize。
$(window).resize(function(e) {
var winWidth = $(window).width();
if (winWidth >= 501){
larger();
}
if (winWidth < 501){
smaller();
}
});
感谢任何答案,如果我需要澄清任何事情,请告诉我。
我正在使用 jquery-1.11.0.min.js
和 jquery-ui-1.10.3.custom.min.js
谢谢
最佳答案
如何存储对先前宽度的引用,如果宽度在调整大小时发生变化,则调用您的函数 - 否则跳过它。像这样:
// If you don't want it to change the first time
// then set this value on document load to get initial window width
var prevWinWidth = 0;
$(window).resize(function(e) {
var winWidth = $(window).width();
if(winWidth != prevWinWidth) {
if (winWidth >= 501){
larger();
}
if (winWidth < 501){
smaller();
}
prevWinWidth = winWidth;
}
});
关于javascript - jQuery 宽度变化检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859314/