我正在尝试获得一个元素的高度,这将出现时,鼠标在一个按钮。
示例代码:
<div ng-mouseenter="mouseoverPopUp()" ng-mouseleave="showpop=false">menu</div>
<div class="popover" ng-show="showpop">{{content}}</div>
$scope.mouseoverPopUp = function($event){
$scope.showpop = true;
var height = angular.element(".popover").innerHeight();
};问题是有时元素的高度在元素出现之前就已经得到了。有没有什么办法,我可以运行代码,只有ng-show已经显示了元素?我需要在它出现后尽快获得高度,以调整元素的位置。
发布于 2015-01-14 17:33:41
您是否尝试过在$timeout调用中使用代码,以便在angular完成工作后延迟JS的执行?
$scope.mouseover = function($event){
$timeout(function() {
var height = angular.element(".popover").innerHeight();
});
};你是怎么展示你的爆米花的?使用css转换?如果是这样,您将需要相应地延迟检索高度的JS代码。或者,您可以使用angular-animate将事件与更多逻辑绑定在一起
ps:要帮助更多,jsfiddle将是很棒的
https://stackoverflow.com/questions/27939470
复制相似问题