首页 > 解决方案 > 使用 jQuery 的 .css() 进行平滑的 css 更改,无需 css-transitions

问题描述

有没有办法用 jQuery平滑地改变.css() ?就像通过计算每一步(如 0、1、2、3、...、198、199、200)将 .css("top", myValue) 从 0 平滑地更改为 200 一样?我不想使用 CSS 过渡。原因(长话短说):运行站点的设备不支持“top”平滑过渡,transformY 强制浏览器的一个尚未修复的错误。

当然,我可以编写一个循环,例如将“myValue”从 0 计数到 200 并更新它。但如果有 jQuery 实现的方式,我会很高兴。

$("myDiv").css("top", myValue); // 使其平滑

标签: javascriptjquerycss

解决方案


试试$.fn.animatehttp://api.jquery.com/animate/

$("myDiv").animate( {top: "+=200"}, duration );

(注意:它相对于当前位置。+=1添加 1px 并-=1删除 1px。)


推荐阅读