【发布时间】:2013-12-09 14:26:52
【问题描述】:
我想将一个元素附加到 DOM,然后添加一个带有过渡的类以应用滑动效果。目前我正在使用setInterval(),延迟为0,否则不会发生转换(demo):
var $block = $('<div/>', {class: 'block'});
$('body').append($block);
setTimeout(function () {
$block.addClass('shifted');
}, 0);
我想改用jQuery.queue,但是用我目前的方法它不起作用:追加元素和添加类同时发生,所以没有显示过渡。
$('body')
.append($block)
.queue(function () {
$block.addClass('shifted');
});
【问题讨论】:
-
class是 JS 中的保留字,所以你的对象字面量应该使用字符串作为键(即{'class': 'block'})。 -
Reserved Words actually only apply to Identifiers,属性名称是一个标识符。按照规范,它不应该引起任何问题。
标签: javascript jquery css-transitions settimeout jquery-queue