2017-02-18 49 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

相關問題