根据UL中li元素的数量设置UL的宽度AngularJS
我想根据UL中LI元素的数量来更新UL的宽度,目前我正在创建一个带有$timeout的自定义指令,这实际上是延迟页面加载内容,我还通过jQuery和AngularJS的混合实现了这一点 通过观察控制器中的变量并将其传递给ng样式,是否有更好的方法以纯角度方式执行此操作?我的页面包含多个具有可变LIs数的ULs。请建议根据UL中li元素的数量设置UL的宽度AngularJS,angularjs,ng-style,Angularjs,Ng Style,我想根据UL中LI元素的数量来更新UL的宽度,目前我正在创建一个带有$timeout的自定义指令,这实际上是延迟页面加载内容,我还通过jQuery和AngularJS的混合实现了这一点 通过观察控制器中的变量并将其传递给ng样式,是否有更好的方法以纯角度方式执行此操作?我的页面包含多个具有可变LIs数的ULs。请建议 app.directive('setUlLength', function ($timeout) { return { restrict: 'A',
app.directive('setUlLength', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
$timeout(function () {
var totli = $(element).find('ul').children('li').length;
var liwid = $(element).find(".prod-gall ul li:first").outerWidth(true);
var setUlWidth = totli * liwid;
$(element).find('.prod-gall ul').css({ 'width': setUlWidth + 'px' });
});
}
};
});
在CSS中这样做不是最好的主意吗?你知道任何参考资料吗?我怀疑我们是否可以计算css中“li”元素的宽度?这是一个建议:)。很可能您的
都在同一条水平线上,并且您只是想调整容器的大小。在这种情况下,CSS就足够了。但是当然,CSS中的子元素的宽度之和是不可能计算的。只要所有my- 的定义宽度内,它们就保持在同一水平线上,当
- 的宽度之和超过
- 的定义宽度时,它们会缠绕到下一行,这就是我想通过在加载所有
- 后设置
- 宽度来解决的问题。听起来您没有使用
。最小宽度
- 后设置