これは何?
砂粒を1粒ずつ計算して落とす砂時計のローダーです。渡した進み具合の分だけ首から砂が落ち、完了すると砂時計がくるりと返って、次の読み込みに備えます。上の砂は真ん中からすり鉢状に減り、下には山ができます。
使い方
- 「全部コピー」して貼り付けます。
data-demoを消すと、自動では進まなくなります。読み込みの進み具合に合わせてel.ugLoad.set(0.4)(0〜1)を呼び、終わったらel.ugLoad.done()を呼びます。elはdocument.querySelector('.ug-hglass')で取れます。- 砂時計が返り終わると、要素に
ugloaddoneイベントが届きます。もう一度使うときはel.ugLoad.reset()を呼びます。 - クリック(キーボードではEnterかスペース)で砂時計を叩くと、砂が跳ねます。
カスタマイズ
- 砂の色は
SANDの3色です。横じまに積んであるので、流れ方が見えます。 - 形は内側の半幅の表
HWで決まります。首から上の傾きの上限.85を大きくすると、砂が壁に残るので注意してください。 - 渡した値に砂が遅れているときは、
loop()のextraで計算を増やして追いつかせています。
注意
60×100マスの格子で砂を動かし、砂が止まっている間は描き直しを止めます。残り時間は渡された値の増え方から見積もった目安で、値が届かないまま2.6秒たつと「少し時間がかかっています」に変わります。