javascript - 等待窗口完成自行调整大小,然后在 Angular 中执行某些操作

标签 javascript angularjs

所以基本上,我试图在调整窗口大小时进行一些计算。现在,我的代码如下所示:

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/

相关文章:

javascript - Angular Bootstrap 下拉切换不起作用

Javascript 循环行为

php - 如果我的表单使用的是 ajax 提交方法(无需重新加载),我该如何阻止垃圾邮件?

javascript - Meteor.loginWithPassword 中的自定义验证

javascript - React Native 在 Android 上使用 JIT(Just in Time)编译还是解释 JavaScript 代码?

javascript - 使用 d3 树形图在继续单击父节点到子节点时转到子节点

javascript - 指令的无序执行

javascript - AngularJS 嵌套 ng-repeat

angularjs - 在 ng-repeat 中向 ng-click 函数添加参数似乎不起作用

javascript - 我可以使用对象的字符串值数组在 jade 中创建动态变量名称吗?