.calculate()
更新日: 2019-12-19
インスタンスの開始位置と停止位置を絶対位置に変換します。 basicScrollは、それらの値を使用して、 正しい位置でアニメーションを開始&停止させます。 .calculate()
はインスタンス生成時に位置を計算します。 要素の位置が変更されたり、 サイトやviewportのサイズが変更された時には、 .calculate()
を呼び出す必要があります。
instance.calculate()
デモ
「下に移動」ボタンまたは「上に移動」ボタンで要素の位置を変更し、 「位置を再計算」ボタンを押した後にスクロールすると、 再計算した位置を元に、透明度が更新されます。
透明度は、要素の上部がページ内の上部になるにつれて薄くなり、 要素の下部がページ内の下部に近づくにつれて濃くなります。
JavaScript
const instance = basicScroll.create({
elem: document.getElementById('element'),
from: 'top-top',
to: 'bottom-bottom',
props: {
'--opacity': {
from: 0,
to: 1
}
}
});
instance.start();
document.querySelector('.up').addEventListener('click', function () {
let posiTop = parseInt(document.getElementById('element').style.top, 10);
posiTop -= 40;
document.getElementById('element').style.top = posiTop + 'px';
});
document.querySelector('.down').addEventListener('click', function () {
let posiTop = parseInt(document.getElementById('element').style.top, 10);
posiTop += 40;
document.getElementById('element').style.top = posiTop + 'px';
});
document.querySelector('.calculate').addEventListener('click', function () {
instance.calculate();
});
CSS
#element {
position: relative;
width: 100px;
height: 100px;
background-color: #000;
margin: 60px 0;
opacity: var(--opacity);
will-change: opacity;
}
HTML
<button class="down">下に移動</button>
<button class="up">上に移動</button>
<button class="calculate">位置を再計算</button>
<div id="element" style="top:0px;"></div>
© 2018 Tobias Reich Released under the MIT license
このコンテンツはTobias Reich(electerious)によるbasicScrollドキュメントを翻訳/改変したものです。