0
我想使用angularjs指令将绝对div的右侧与另一个div的右侧对齐。代码几乎可以正常工作,但子divs比父宽度稍宽,我得到的offsetWidth值是错误的。使用angularjs指令将绝对div与其他div的右边缘对齐
我的指令:
app.directive('alignElementRight', function ($document) {
return {
restrict: 'A',
scope: {
alignElementRight: '@'
},
link: function (scope, element, attrs) {
scope.$watch('alignElementRight', function (value) {
console.log(value);
var relEleme = $document.find('#' + value);
var myEl = angular.element(document.querySelector('#' + value));
var elOffsetLeft = myEl[0].offsetLeft;
var elOffsetTop = myEl[0].offsetTop;
var elOffsetWidth = myEl[0].offsetWidth;
console.log('main width:' + elOffsetWidth);
var absElemOffsetWidth = element[0].offsetWidth;
console.log('menu: ' + absElemOffsetWidth);
var newOffsetLeft = Math.abs(elOffsetLeft + elOffsetWidth - absElemOffsetWidth);
element.css({
left: newOffsetLeft + 'px'
});
});
}
};
});