为什么未能将transform:none应用于我的元素
Why is this failing to apply transform:none to my elements?
我在$(document).ready(function() { ... });
中调用了以下内容
var serviceIcons = $('#services-row img');
for (var k = 0, n = serviceIcons.length; k < n; ++k) {
setTimeout(function () {
$(serviceIcons[k]).css('transform', 'none');
}, k * 50);
}
我已经验证了$('#services-row img')
返回了正确的对象集,但我没有看到img
上的属性style="transform:none;"
应用于img
s。相应的CSS是:
#services-row img {
transform: translateX(-10000px) translateY(-10000px);
transition: transform 1s;
}
调用timeout函数时,k
变量已经完成循环,并且在函数中始终等于serviceIcons.length
。
要访问循环值,请使用以下语法:
setTimeout(
function(k) {
return function() {
...
}
}(k), k * 50
);
所以你的最终代码是:
var serviceIcons = $('#services-row img');
for(var k = 0, n = serviceIcons.length; k < n; ++k) {
setTimeout(
function(k) {
return function() {
$(serviceIcons[k]).css('transform', 'none');
}
}(k), k * 50
);
}
请参阅http://brackets.clementng.me/post/24150213014/example-of-a-javascript-closure-settimeout-inside以获得对该解决方案的良好描述。
Fiddle
相关文章:
- 将函数的上下文应用于javascript变量
- 将CSS应用于printWindow.print();在Javascript中
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- $scope.apply()何时应用于angular
- Javascript非常简单:'阅读更多''显示较少'应用于Wordpress的功能
- 尝试应用于<tr>在ng单击中
- 如何将javascript仅应用于1个表单中的2个表单提交按钮中的1个
- 将脚本应用于Angular 2上的输入
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- 如何将参数应用于String.prototype.format函数
- 动态地将过滤器应用于 JSON.parse()
- $location更改不适用于ngchange,而是应用于ngclick
- 如何将 :empty 选择器应用于 XML 文档
- 如何仅在文本字段中有值时才将自定义过滤器应用于 ng-repeat
- 如何使用 JavaScript 将样式应用于 CKEditor 中的选定文本
- MongoDB 无法将$addToSet应用于 Meteor JS 中的非数组
- 将类应用于jquery ui对话框
- 将CSS应用于在JavaScript中创建的表-表的位置不正确
- 如果检查了输入,则将类应用于<身体>,没有jQuery
- 将数据表.js样式应用于 AJAX 加载的表