當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


d3.js interpolateTransformCss()用法及代碼示例

D3.js中的d3.interpolateTransformCss()函數用於返回兩個給定CssTranform屬性之間的插值器函數。這裏可以使用Tranform的幾個屬​​性,例如平移,旋轉,偏斜和縮放。

用法:

d3.interpolateTransformCss(a, b); 

參數:

  • a:它是CSS Transform屬性的字符串。
  • b:它是CSS Transform屬性的字符串。

返回值:它返回內插器函數。

下麵給出了上述函數的一些示例。



範例1:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" 
        content="width=device-width,  
                 initial-scale=1.0"> 
  <title>Document</title> 
</head> 
<style> 
</style> 
<body> 
  <!--Fetching from CDN of D3.js -->
  <script type = "text/javascript" 
          src = "https:// d3js.org/d3.v4.min.js"> 
  </script> 
  <script> 
// It gives the intermediate value between two given properties  
    console.log(d3.interpolateTransformCss( 
    "translateX(10px) scale(1.5)", 
    "translateY(15px) scale(2)" 
  )(0.5)) 
// It gives intepolate value with 0 part of "a" and 1 part of "b" 
    console.log(d3.interpolateTransformCss( 
    "translateX(10px) scale(1.5)", 
    "translateY(15px) scale(2)" 
  )(1)) 
// It gives intepolate value with 0.2 part of "a" and 0.8 part of "b" 
    console.log(d3.interpolateTransformCss( 
    "translateX(10px) scale(1.5)", 
    "translateY(15px) scale(2)" 
  )(0.8)) 
 </script> 
</body> 
</html>

輸出:

範例2:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" 
        content="width=device-width,  
                 initial-scale=1.0"> 
  <title>Document</title> 
</head> 
<style> 
  .box1{ 
    margin-bottom:40px; 
    color:white; 
    border:2px solid black; 
    width:150px; 
    height:150px; 
    background-color:green; 
    transform:scale(); 
  } 
  div{ 
    height:100vh; 
    display:flex; 
    margin-left:60px; 
    align-items:center; 
  } 
</style> 
<body> 
  D3.interpolateTransformCss() 
  <div> 
    <div class="box1"> 
    </div> 
    <div class="box2"> 
    </div> 
    <button>Clickme</button> 
  </div> 
  <!--fetching from CDN of D3.js -->
  <script type = "text/javascript" 
          src = "https://d3js.org/d3.v4.min.js"> 
   </script> 
  <script> 
    let box1=document.querySelector(".box1"); 
    let btn=document.querySelector("button"); 
    let interpolateFunc=d3.interpolateTransformCss( 
    "translateY(15px) scale(1.5)", 
    "translateX(3px) rotate(10deg)" 
  )(0.5); 
  func=()=>{ 
    box1.style.transform=interpolateFunc; 
  } 
  btn.addEventListener("click", func); 
  </script> 
</body> 
</html>

輸出:

點擊之前:

單擊後:




相關用法


注:本文由純淨天空篩選整理自tarun007大神的英文原創作品 D3.js interpolateTransformCss() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。