Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách đặt thời gian chuyển động (transitionDuration) bằng JavaScript

Thuộc tính transitionDuration xác định thời gian (giây hoặc mili-giây) để hoàn thành hiệu ứng chuyển tiếp (transition). Mặc định là 0s (không có animation).

Ví dụ minh họa

Mã sau đặt transition-duration = 5s cho div2 (kết hợp transitionTimingFunction và transitionDelay) khi nhấn nút:

<!DOCTYPE html>
<html>
<head>
  <style>
    #div1 {
      position: relative;
      margin: 10px;
      height: 300px;
      width: 400px;
      padding: 20px;
      border: 2px solid blue;
    }
    #div2 {
      padding: 80px;
      position: absolute;
      border: 2px solid blue;
      background-color: yellow;
      transform: rotateY(45deg);
      transition: all 5s; /* Transition mặc định 5s */
    }
    #div2:hover {
      background-color: orange;
      width: 50px;
      height: 50px;
      padding: 100px;
      border-radius: 50px;
    }
  </style>
</head>
<body>
  <p>Di chuột qua DIV2 để thấy transition</p>
  <button onclick="setTransitionDuration()">Đặt transitionDuration</button>
  <div id="div1">DIV1
    <div id="div2">DIV2</div>
  </div>
  <script>
    function setTransitionDuration() {
      // Lưu ý: code gốc có lỗi gán cho "myDIV" không tồn tại, sửa thành "div2"
      document.getElementById("div2").style.transitionDuration = "5s";
      document.getElementById("div2").style.transitionTimingFunction = "ease-in";
      document.getElementById("div2").style.transitionDelay = "1s";
    }
  </script>
</body>
</html>

Cú pháp transitionDuration

  • transitionDuration: time — time là <number>s hoặc <number>ms (ví dụ: 2s, 500ms, 0.3s).
  • Nhiều thuộc tính: transitionDuration: 2s, 1s, 500ms (áp dụng lần lượt cho các property trong transitionProperty).
  • Mặc định: 0s (chuyển đổi tức thì).

4 thuộc tính transition (viết tắt: transition)

Thuộc tính Mô tả Mặc định
transitionPropertyThuộc tính CSS nào được transitionall
transitionDurationThời gian hoàn thành0s
transitionTimingFunctionĐường cong tốc độ (ease, linear...)ease
transitionDelayĐộ trễ trước khi bắt đầu0s

Shorthand: transition: property duration timing-function delay — ví dụ: transition: width 2s ease-in 1s.