2017-02-18 166 views
0

是否可以使用angularjs获取元素的高度并将其放到另一个div的属性上?在angularjs中获取div元素的高度,并将其设置为其他元素的属性

我有一个引导网页,它具有添加侧边栏,并且为了在网页页脚之前正确停止,我必须在词缀的属性中指定页脚的高度。 目前我正在手动执行此操作。

它大多看起来是这样的:

视图1:

<div class="affix-top" data-spy="affix" data-offset-bottom="300"> 
... 
</div> 

布局(主)视图:

... 
<div id="footer"> 
... 
</div> 

的是页脚的手动输入身高,我想将视图1更改为像这样(伪代码):

<div class="affix-top" data-spy="affix" data-offset-bottom="{{#footer.height()}}"> 
... 
</div> 

这可能吗?如果在angularjs中不那么容易,我可以使用它来在不使用单独的javascript的情况下获得该功能?

回答

0

将角度范围上的变量初始化为默认值;一旦它变得可用,就填充它。

$scope.height = 0; 

$scope.updateHeight = function(){ 
    $scope.height = document.querySelector("#wantedDiv").clientHeight; 
    console.log("height is now: "+$scope.height); 
    if(!$scope.$$phase) $scope.$apply(); 
}; 
window.onload= $scope.updateHeight; 

使用在你的HTML:

<div class="affix-top" data-spy="affix" data-offset-bottom="{{height}}"> 
... 
</div> 

此外,您可以指定这个给你想要的任何其他事件。

window.onresize= $scope.updateHeight; 
+0

如果我例如在window.onresize事件中更新这个变量,这个属性会自动更新吗? – Mikaka

+0

已编辑答案。试试看。 – dev8080

相关问题