运行 当 window 大于 x 时的脚本,以及 window 调整大小时的脚本
Run script when window is bigger than x, also when window is resized
我有一个 jQuery 脚本,只有当 window 宽度大于 1245px 时我才想 运行。
if ($(window).width() > 1245) {
// script
}
这是出于响应的原因。但是假设我在桌面上,并且从小于 1245px 的 window 开始;如果我从更大的 window.
开始,我希望能够调整它的大小和 运行 的功能,反之亦然
我试过这样使用 'resize':
$(window).on('resize', function(){
var win = $(this); // this = window
if (win.height() > 1245) { /* ... */ }
}
但是我 运行 发现脚本的问题不是 运行 初始 window 大小,解决这个问题的最佳方法是什么?
同时将 load
添加到事件列表中:
$(window).on('load resize', ...
请注意,调整大小事件会在 window 调整大小时连续触发,例如,如果您在一秒钟内将其从 1000 像素调整到 1600 像素,它将触发 600 次。使用任何昂贵的功能都会使浏览器陷入困境。我建议对调整大小事件使用“去抖动”技巧。
我有一个 jQuery 脚本,只有当 window 宽度大于 1245px 时我才想 运行。
if ($(window).width() > 1245) {
// script
}
这是出于响应的原因。但是假设我在桌面上,并且从小于 1245px 的 window 开始;如果我从更大的 window.
开始,我希望能够调整它的大小和 运行 的功能,反之亦然我试过这样使用 'resize':
$(window).on('resize', function(){
var win = $(this); // this = window
if (win.height() > 1245) { /* ... */ }
}
但是我 运行 发现脚本的问题不是 运行 初始 window 大小,解决这个问题的最佳方法是什么?
同时将 load
添加到事件列表中:
$(window).on('load resize', ...
请注意,调整大小事件会在 window 调整大小时连续触发,例如,如果您在一秒钟内将其从 1000 像素调整到 1600 像素,它将触发 600 次。使用任何昂贵的功能都会使浏览器陷入困境。我建议对调整大小事件使用“去抖动”技巧。