jquery - CSS3 与 jQuery 的转换只能在暂停后工作?

标签 jquery css css-transitions

我正在尝试使用 jQuery 添加 CSS3 转换来更改样式的 CSS 属性。 (我想用 transform3d 来实现,但属性是动态的......)

这可能是一件非常愚蠢的事情,但我不知道为什么,如果我在更新 CSS 属性之前进行警报,CSS3 转换效果会很好。如果没有,那就没有。

我这里有一个 jsfiddle 示例,如果您想了解我的意思,只需注释 alert 即可: http://jsfiddle.net/7WPT8/1/

用于更新CSS的代码是:

//topPosition is the dynamic value
$(this).css('top', topPosition+'px');

只有当我之前使用警报时它才有效。

最佳答案

斯文是对的,这是一个时间问题。也可以通过使用最小超时来触发 css 属性的更改来避免这种情况(以防从一开始就在文档中包含 flashmessage 不是一个选项) - 检查 http://jsfiddle.net/7WPT8/5/

(我在这里使用 var _this 通过闭包将 jQuery 元素传递给匿名函数 - 否则,它不会知道 $(this) 是什么因为通过超时分开执行。)

关于jquery - CSS3 与 jQuery 的转换只能在暂停后工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15681912/

相关文章:

javascript - 使用 JavaScript 禁用水平滚动

php - jquery 不工作

css - 背景颜色淡出,没有悬停

CSS3 3d 无缝过渡

滚动时出现 CSS/Chrome 白色 block

jquery - jQuery 没有使用 name 属性的选择器吗?如果是的话为什么?有什么可能的解决办法?

jquery - 获取选择元素中的所有选项

css - 如何更改 Bootstrap 4 工具提示不透明度?

html - 使用 Bootstrap 垂直对齐文本

css - 加载和悬停同一对象的同一属性的不同过渡时间?