我遇到轉換問題。刪除CSS轉換,移動元素,然後在再次移動元素之前重新應用它
我在左邊屬性上有一個轉換。我想從左側移動一個div:860px到-860px,而不進行轉換,然後將它移動到0px並進行轉換。
如果我刪除給元素轉換的類,應用一個給它左邊-860px的類,那很好。沒有過渡。
但是,由於我想在將左邊改爲0px之前應用一個轉換,我再次添加轉換類,並給它一個左邊的類:0.當我在Chrome中這樣做時,它將應用轉換在通往-860px位置的路上的元素以及爲0.因此,不是我想要的。
我想避免之間的延遲也。但我不認爲有一件事告訴我Chrome何時重新渲染了-860像素的元素。有任何想法嗎?
下面是一些示例代碼。具有轉換的類:
.div-transition {
-webkit-transition:all 0.8s ease-in-out;
-moz-transition:all 0.8s ease-in-out;
-o-transition:all 0.8s ease-in-out;
transition:all 0.8s ease-in-out;
}
$(".div-to-transition").removeClass('div-transition');
$(".div-to-transition").css('left', '-860px'); // So far so good, if I don't add the next two lines.
$(".div-to-transition").addClass('div-transition');
$(".div-to-transition").css('left', '0'); // Now it applies a transition as we move left to -860px, AND from -860px to 0.
分享一些代碼... –
如果您還需要jQuery,我想我只需使用'style.left'設置左邊的屬性,然後添加一個類,這樣您就不需要嘗試和檢測元素是否在-860px。添加一些代碼,如果這是你想嘗試,但堅持。 – Toby
@eskimo - 我已經添加了一些示例代碼。 – user2451412