var transform = ['scale(' + scale + ')'];
$.merge(transform, ['rotate(' + rotate + 'deg)']);
$(this).css(-moz-transform, transform.join(' '));
这个代码块在生成事件时执行,新的缩放和旋转被添加到css元素,但是每当再次生成相同的事件时,css元素将自身重置为原始大小和位置。执行转换在第二次重置之后。我想消除元素重置为原始大小和位置。如何在事件被触发时第一次使更改成为永久更改,并在事件第二次触发时构建它? 请提前帮助
答案 0 :(得分:0)
此代码没有任何问题,但请记住,您以绝对值设置scale
和rotate
,而不是相对于其“初始”状态。
因此,每次执行此代码时,元素的-moz-transform
属性都将被覆盖。如果您想根据其当前状态进行旋转和缩放,则必须跟踪scale
和rotate
值并根据需要进行调整。例如,如果此代码处于循环中,您可以执行rotate=rotate+5;
或类似的操作。
您还可以使用($this).css('-moz-transform')
从CSS请求这些属性,解析该属性以获取所需的值,并相应地更新scale
和rotate
。