gpt4 book ai didi

css - 在 AngularJS 中调整元素高度

转载 作者:行者123 更新时间:2023-11-28 07:55:42 25 4
gpt4 key购买 nike

我正在使用 AngularJS(非常新)。我遇到了一个挑战,如果 textarea 值太大,我必须使其可滚动以及它周围的边框,否则我必须删除边框和滚动。我尝试添加指令但无法使其工作。

如果有任何解决方法,请告诉我。感谢您抽出时间提供帮助。

更新:

angular.module('myApp')
.directive('removeBorder', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
if (element[0].clientHeight < element[0].scrollHeight) {
console.log(element.clientHeight);
console.log(element.scrollHeight);
console.log('ELEMENT: ' + element[0]);
angular.element(element[0]).removeClass('scroll');
}
}
};
});

最佳答案

我用 nativeJS 和 angularJS 和原生 JS 给你举了个例子。只需检查 Elements clientHeightscrollHeight 属性即可使其正常工作。

angularJS 指令

angular.module('docsSimpleDirective', [])
.controller('Controller', ['$scope', function($scope) {}])
.directive('removeBorder', function() {

return {
restrict: 'A',
link: function (scope, element, attrs) {
if (element[0].clientHeight >= element[0].scrollHeight) {
console.log(element[0].clientHeight);
console.log(element[0].scrollHeight);
angular.element(element[0]).addClass('no-scroll');

}
}};
});

原生 JS - Plunker

function hasScrollbar(elemId) { 
elem = document.getElementById(elemId);
if (elem.clientHeight < elem.scrollHeight) {
alert("The element #" + elemId + " has a vertical scrollbar!");
} else {
alert("The element #" + elemId + " doesn't have a vertical scrollbar.");
elem.style.border= "0";
}
}

应自动设置可滚动。或者使用 CSS:

    textarea { overflow-y:scroll; }

关于css - 在 AngularJS 中调整元素高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126429/

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