所以基本上,我试图在调整窗口大小时进行一些计算。现在,我的代码如下所示:
var appWindow = angular.element($window);
appWindow.bind('resize', function () {
// Do Something
});
但是,目前该函数有时会运行多达 30 次,因此速度相当慢。有什么方法可以在窗口调整大小后仅触发一次吗?谢谢!
最佳答案
这是实现此目的的方法:
var resizeTimeout;
appWindow.bind('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
// when the window stops resizing, this function will execute
}, 200);
});
基本上,当事件触发时,它会清除现有的超时,然后设置超时。当窗口停止调整大小时,从 setTimeout
调用创建的最后一个超时不会被清除,因此会在指定的持续时间(以毫秒为单位)之后执行。
关于javascript - 等待窗口完成自行调整大小,然后在 Angular 中执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48085442/