我想根据角度控制器中函数的返回值设置div的位置
以下内容在FireFox和chrome中可以正常运行,但在Internet
Explorer中会{{position($index)}}%
被解释为文字字符串值,因此无效
<div ng-repeat="item in items" style="left:{{position($index)}}%"></div>
这是问题的示例:
var app = angular.module('app', []);
app.controller('controller', function($scope) {
$scope.items=[1,2,3,4,5,6,7,8,9,10];
$scope.position=function(i){
var percent =[5,10,15,20,25,30,35,40,45,50,55,60,65,70];
return percent[i+1];
}
});
这是一个 小提琴 来演示
有没有人建议如何纠正?
您必须使用ng-
style
而不是style,否则某些浏览器IE
会{{}}
在甚至angular都没有机会渲染它之前删除无效的style属性值(等的存在会使它无效)。使用ng- style
angular时,将计算表达式并向其添加内联样式属性。
<div ng-repeat="item in items" ng-style="{left: position($index) + '%'}"></div>
由于无论如何您都在计算位置,因此您也可以%
从中添加position
并发送。还要记住,在ng-
repeat中调用一个函数将在每个摘要周期调用该函数,因此您可能要注意不要在方法内部进行过多的密集操作。
<div ng-repeat="item in items" ng-style="{left: position($index)}">{{item}}</div>
然后返回
return percent[i+1] + "%";
演示版
问题内容: 在Material UI中,我想在按钮上设置borderRadius。传递属性似乎适用于,但不适用于。 对于,borderRadius应用于父对象(这是必需的),而不是自身(也是必需的) 这是Material UI中的错误吗?还是这种行为是故意的?如果需要,那么如何制作带有圆角的RaisedButton? 问题答案: 这是预期的行为,并在docs中这样说。作为记录,您永远不希望将道具传
问题内容: 我动态加载CSS样式表(在jQuery的帮助下),如下所示: 这在Firefox和Google Chrome浏览器中工作正常,但在IE中则 不能 。 有什么帮助吗?谢谢 问题答案: IE处理完页面加载的所有样式后,添加另一种样式表的唯一可靠方法是 有关更多详细信息。
问题内容: 由于某种原因,似乎响应JS无法正常工作。我正在IE 8中使用媒体查询来更改各种大小的监视器的背景图像。在IE 8中,没有背景,只有纯色。 代码如下: 媒体查询如下所示: 上面的代码在IE 8中无法工作是有原因的吗?我还应该尝试使用另一个JS来使IE 8 Media Queries工作吗? 注意:看来html5-shiv确实有效。我正在实时Web服务器上进行测试。 问题答案: 同样的问题
问题内容: 我有以下功能 但是 在ie7中不起作用,那我该怎么办!我想将光标放在输入中! 谢谢 更新 很好的解决方案,谢谢,但是现在在opera中不起作用:( 问题答案: 对于IE,您需要使用settimeout函数,因为它很懒,例如: 对于opera,这可能会有所帮助:如何在opera文本框上的所需索引中设置焦点
我有一些 在量角器中,我们搜索并找到元素,检查文本是否符合我们的期望,然后对该元素调用。测试在Chrome中运行良好,但在IE中就好像没有点击发生一样。破坏了测试。 IE 11是否支持点击
问题内容: 我有以下文件: 注意:忽略d.getTime()调用…这些只是为了解决IE无法从AJAX调用加载新页面的问题,因为它的缓存方案过于激进。 基本上,当它在/ DOC处重新加载文件时,应该将当前样式表设置为/ CSS处的文件… DOC和CSS都在不断变化。 奇怪的是,在Chrome浏览器中效果很好。将DOC加载到“内容” div中,并将样式表设置为CSS,并将CSS应用于页面。我可以更改C