gpt4 book ai didi

javascript - 使用 AngularJS 在调整窗口大小时调整 div 的大小

转载 作者:行者123 更新时间:2023-11-29 19:34:27 24 4
gpt4 key购买 nike

我正在尝试使用一个指令来调整我页面上几个 div 的大小(准确地说是 5 个)。它们都是我想调整大小的列,因此它们总是延伸到窗口的底部。

我以此为指导:Window resize directive

想出这个:

app.directive('resize', ['$window', function($window) {
return {
link: function(scope, elem, attrs) {
scope.onResize = function() {
var padding = 30,
offset = elem.prop('offsetTop'),
height = $window.innerHeight - offset - padding;

elem.css({height: height + 'px'});
}
scope.onResize();

angular.element($window).bind('resize', function() {
scope.onResize();
})
}
}
}]);

我已经为我的 div 指定了“调整大小”的指令元素标识符。

加载时效果很好——所有 div 的大小都正确。但是,在更改窗口大小时,只会调整最后呈现的 div 的大小。我猜这是因为 resize window 事件每次都被每个 div 的范围依次覆盖,所以当页面加载时,window resize 事件只引用最后呈现的 div。

我该怎么做才能使调整大小事件应用于所有 div 而不仅仅是最后一个?

最佳答案

在调查一个完全不相关的问题时,我意识到我只需要设置范围:

app.directive('resize', ['$window', function($window) {
return {
scope: {},
link: function(scope, elem, attrs) {
....
}
}
}]);

关于javascript - 使用 AngularJS 在调整窗口大小时调整 div 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25854276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com