CSS相对于固定位置 - CSS过渡

时间:2013-06-25 18:16:37

标签: css css3 css-transitions css-position

描述

我正试图让div看起来像是从它的位置增长。为此,我将位置从 relative 更改为 fixed ,这使得第一次转换从top:0, left:0开始,而不是元素的当前top / left。如何修复此问题以使用元素当前偏移量?

JS Fiddle

http://jsfiddle.net/ZjWkD/

  

注意:首次点击后,代码完全符合我的要求。第一次点击就是问题。

1 个答案:

答案 0 :(得分:6)

您好,感谢小提琴,

看起来当你第一次在这里设置css时,除了在click函数中设置初始位置之外,你在target-div上进行了转换,除了设置你的初始位置之外,它还有点麻烦。

$(this).css({
    position:'fixed',
    top:$(this).offset().top,
    left:$(this).offset().left
});

在单击函数触发之前设置target-div的位置将正确定位div,并且在没有动画的情况下应用css将确保在文档加载时target-div位于正确的位置(如果您将动画保留在target-div上,即使你在$(document)中应用起始css .ready它将加载页面并运行动画而不是让div从那里开始。)

我为动画使用了一个单独的类,并且只在设置了初始定位后才应用它(参见下面的.test类)。

http://jsfiddle.net/Jag96/wdh4N/