jquery - 清除由 GSAP 动画设置的内联样式

标签 jquery html

我似乎无法清除由 GSAP 动画设置的图像元素上的样式。

我试过各种方法:

$('#element').removeAttr("style");

$('#element').attr('style', '');

$("#element").css({
    '-webkit-transform': "",
    '-moz-transform': "",
    '-o-transform': "",
    'msTransform': "",
    'transform': ""
});

以上均无效。虽然,当我从 Chrome 控制台运行这些方法时,它们确实有效......

应用的样式如下:

style="-webkit-transform: matrix(-0.99775, 0.06697, -0.06697, -0.99775, 0, 0);"

最佳答案

如果你想清除属性,你可以使用 GSAP 的 clearProps 特殊属性,比如:

//clear all inline properties immediately with a set() call:
TweenLite.set("#element", {clearProps:"all"});

//or clear just the transform:
TweenLite.set("#element", {clearProps:"transform"}); 

//or clear the transform at the end of your tween:
TweenLite.to("#element", 1, {rotation:60, scale:0.5, clearProps:"transform"});

郑重声明,GSAP 仅在您要求时设置属性(例如在补间期间)——它不会不断地强制它们进入内联样式。变换有点奇怪,因为为了解决某些浏览器错误并正确维护状态,它必须记录元素本身的变换组件(旋转、缩放、位置、倾斜),然后在下次补间时读取这些组件该元素,除非您设置 parseTransform:true 强制它从浏览器读取计算出的样式矩阵,但这几乎从来没有必要。当然,如果您清除 Props:"all"或任何转换,它也会将它们删除,并在下次从浏览器提供的矩阵中重新解析它们。

如果您仍然遇到问题,那么在您的 GSAP 代码上下文中查看问题也确实有帮助,因此请在 codepen 或 jsfiddle 或其他软件中提供简化的测试用例。

补间快乐!

关于jquery - 清除由 GSAP 动画设置的内联样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978416/

相关文章:

php - 使用 jQuery $.ajax 检索数据

jQuery flot 将文本与绘图点关联起来

jquery - IE 按下 Enter 键后未提交我的表单?

html - 用于访问和检索信息的 Perl 或 MySQL

html - 使输入框始终居中

javascript - 如何接收输入的数字并将其移动到数组中并按升序排序?

javascript - 选择类为 ="{c}"的元素

javascript - 选中复选框时显示隐藏字段?

javascript - 当 Jquery 参数设置为 5 时,Slider 中的幻灯片没有响应

javascript - 选项卡问题