Property Parameters
更新日: 2019-12-19
duration(時間)
アニメーションの長さをミリ秒単位で指定することができます。
type | 初期値 | 例 |
---|---|---|
number | 1000 | 3000 |
anime.stagger | Staggeringを参照してください。 | anime.stagger(150) |
function | Function Based Parametersを参照してください。 | (el, i) => i * 150 |
anime({
targets: '.duration-demo .el',
translateX: 250,
duration: 3000
});
デモ
要素をクリックするとアニメーションを開始します。
JavaScript
var duration = anime({
targets: '#duration .el',
translateX: 250,
duration: 3000
});
HTML
<div id="duration">
<div class="square shadow"></div>
<div class="square el"></div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
delay(開始遅延)
アニメーションの開始ディレイをミリ秒単位で指定することができます。
type | 初期値 | 例 |
---|---|---|
number | 0 | 1000 |
anime.stagger | Staggeringを参照してください。 | anime.stagger(150) |
function | Function Based Parametersを参照してください。 | (el, i) => i * 150 |
anime({
targets: '.delay-demo .el',
translateX: 250,
delay: 1000
});
デモ
要素をクリックするとアニメーションを開始します。
JavaScript
var delay = anime({
targets: '#delay .el',
translateX: 250,
delay: 1000
});
HTML
<div id="delay">
<div class="square shadow"></div>
<div class="square el"></div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
endDelay(終了遅延)
アニメーションに終了ディレイをミリ秒単位で指定することができます。
type | 初期値 | 例 |
---|---|---|
number | 0 | 1000 |
anime.stagger | Staggeringを参照してください。 | anime.stagger(150) |
function | Function Based Parametersを参照してください。 | (el, i) => i * 150 |
anime({
targets: '.end-delay-demo .el',
translateX: 250,
endDelay: 1000,
direction: 'alternate'
});
デモ
要素をクリックするとアニメーションを開始します。
要素が右に移動して停止した後、1秒後に左に戻ります。
JavaScript
var delay = anime({
targets: '#end-delay .el',
translateX: 250,
endDelay: 1000,
direction: 'alternate'
});
HTML
<div id="delay">
<div class="square shadow"></div>
<div class="square el"></div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
easing(イージング)
アニメーションのイージングを指定します。
利用可能なイージングとパラメータについてはEasingを参照してください。
type | 初期値 | 例 |
---|---|---|
string | 'easeOutElastic(1, .5)' | easing: 'easeInOutQuad' |
anime({
targets: '.easing-demo .el',
translateX: 250,
easing: 'easeInOutExpo'
});
デモ
要素をクリックするとアニメーションを開始します。
JavaScript
var easing = anime({
targets: '#easing .el',
translateX: 250,
easing: 'easeInOutExpo'
});
HTML
<div id="easing">
<div class="square shadow"></div>
<div class="square el"></div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
round(数値の丸め)
数値を小数点以下に丸める場合の端数桁数を指定します。10
の場合は0.1ずつ、4
の場合は0.25ずつ増加します。
type | 初期値 | 例 |
---|---|---|
string | 0 | round: 10 |
var roundLogEl = document.querySelector('.round-log');
anime({
targets: roundLogEl,
innerHTML: [0, 10000],
easing: 'linear',
round: 10 // 0.1ずつアニメーションします
});
デモ
要素をクリックするとアニメーションを開始します。
0
JavaScript
var easing = anime({
targets: '#round pre',
innerHTML: [0, 10000],
easing: 'linear',
round: 10
});
HTML
<div id="round">
<pre class="count">0</pre>
</div>
CSS
pre {
font-family: 'Consolas', monospace;
}
特定のプロパティ
オブジェクトを値として指定して、 アニメーションの各プロパティに特定のパラメータを指定することができます。 オブジェクトに指定していないプロパティは、 メインアニメーションから継承されます。
type | 例 |
---|---|
object |
|
anime({
targets: '.specific-prop-params-demo .el',
translateX: {
value: 250,
duration: 800
},
rotate: {
value: 360,
duration: 1800,
easing: 'easeInOutSine'
},
scale: {
value: 2,
duration: 1600,
delay: 800,
easing: 'easeInOutQuart'
},
delay: 250 // 'scale'以外の全てのプロパティは250msのディレイを継承します。
});
デモ
要素をクリックするとアニメーションを開始します。
JavaScript
var specificPropertyParameters = anime({
targets: '#specificPropertyParameters .el',
translateX: {
value: 250,
duration: 800
},
rotate: {
value: 360,
duration: 1800,
easing: 'easeInOutSine'
},
scale: {
value: 2,
duration: 1600,
delay: 800,
easing: 'easeInOutQuart'
},
delay: 250 // scaleを除く全てのプロパティに250ms遅延を継承させます。
});
HTML
<div id="specificPropertyParameters" style="margin: 2em 0;">
<div class="square shadow"></div>
<div class="square el"></div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
関数指定パラメータ
アニメーションのターゲットとプロパティごとに異なる値を取得します。
関数は3つの引数を受け取ります。
引数 | 説明 |
---|---|
target | アニメーション対象の要素。 |
index | アニメーション対象要素のindex。 |
targetsLength | アニメーション対象要素の個数。 |
パラメータを簡単に操作するためにStaggeringを参照してください。
anime({
targets: '.function-based-params-demo .el',
translateX: 270,
direction: 'alternate',
loop: true,
delay: function(el, i, l) {
return i * 100;
},
endDelay: function(el, i, l) {
return (l - i) * 100;
}
});
デモ
delay = 0 * 100
delay = 1 * 100
delay = 2 * 100
JavaScript
var functionBasedParams = anime({
targets: '#functionBasedParams .el',
translateX: 250,
direction: 'alternate',
loop: true,
delay: function(el, i, l) {
return i * 100;
},
endDelay: function(el, i, l) {
return (l - i) * 100;
}
});
HTML
<div id="functionBasedParams">
<div class="line">
<div class="label">delay = 0 * 100</div>
<div class="square shadow"></div>
<div class="square el"></div>
</div>
<div class="line">
<div class="label">delay = 1 * 100</div>
<div class="square shadow"></div>
<div class="square el"></div>
</div>
<div class="line">
<div class="label">delay = 2 * 100</div>
<div class="square shadow"></div>
<div class="square el"></div>
</div>
</div>
CSS
.shadow {
position: absolute;
opacity: .2;
}
.square {
pointer-events: none;
width: 28px;
height: 28px;
margin: 1px;
font-size: 12px;
}
.label {
position: absolute;
opacity: .5;
text-align: left;
padding-top: 2px;
line-height: 28px;
}
MIT license. © 2017 Julian Garnier.
このコンテンツはJulian Garnier(juliangarnier)によるanime.jsドキュメントを翻訳/改変したものです。