簡體   English   中英

使用transition-delay選項(css)和JS進行div移動

[英]Use the transition-delay option (css) and JS to make a div move

我想創建一個可以平滑移動塊的函數。 我更喜歡為此使用CSS選項'transition-duration',但它似乎不適用於該職位。 我檢查了一下,它確實適用於背景色...

CSS文件

 #cart {
            position: relative;
            transition-duration: 0.5s;
            background-color: green;
        }

JS文件

function start() {
    document.getElementById("cart").innerHTML = "test2";
    document.getElementById("cart").style.left = "100";
    document.getElementById("cart").style.background = "gray";
}

因此,背景顏色的確會在2秒內改變,而不是立即改變,而位置只是在您使用該功能的瞬間改變。 有沒有一種方法可以將'transition-duration'用作JS中的style.left? 還是我必須使用其他方法使div平穩移動?

使用過渡:左0.5s線性; 因為您還沒有說要轉換的屬性。

另外,將要更改的樣式放在類中,然后使用js應用該類。

另外,您可能希望在相對容器內轉換絕對項目,而不是對相對元素應用“ left”。

在JS中添加“ left”的CSS之前,沒有在CSS中聲明它。 另外,“ 100”是CSS位置的無效值(請注意,在以下示例中添加了“ px”)。

JSFiddle: https ://jsfiddle.net/MissionMike/adj4j6tr/

HTML:

<div id="cart">TEST</div>

CSS:

#cart {
  position: relative;
  transition-duration: 0.5s;
  background-color: green;
  left: 0;
}

JS:

document.getElementById("cart").innerHTML = "test2";
document.getElementById("cart").style.left = "100px";
document.getElementById("cart").style.background = "gray";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM