お世話になります。
CSSのアニメーションを利用して、
横にスライドするプログラムを実装しています。
以下のプログラムで、
X値が-100pxから1000pxまでスライドはできたのですが、
これを、ブラウザのリロード時に
Xの始値を例えば100pxに設定して、(Y値は固定
1回目:X値が100pxから1000pxまでスライド
2回目:X値が-100pxから1000pxまでスライド
3回目:2回目の繰り返し
※速度は10sで一定です
の挙動をする実装方法をここ数日、探しております。
探した結果として、
Javascriptを利用してロード時に
style属性に代入するのかと思いましたが、
具体的な書き方が分からず、また合っているか分からないため
ここに質問しました。
質問した結果、
Javascriptを利用したロード時のstyle属性で
方向性が合っていそうなので
Javascriptのコードを書きました。
発想は、ページロード時に
①現在のtransformの値を取得して、
②translateXの値に200pxを加算
です。
①はできました。「matrix(1, 0, 0, 1, -100, 50)」。
②が分からなく、どのようなコードを書けば、
①で取得した値のtranslateXに加算できるのでしょうか。
アドバイスをいただけないでしょうか。
よろしくお願い致します。
html
1<section> 2<div id="node1">みどり</div> 3</section>
css
1#node1 { 2animation: anm1 10s; 3animation-iteration-count:infinite; 4} 5@keyframes anm1 { 60% { 7transform: translate(-100px,50px); 8} 9100% { 10transform: translate(1000px,50px); 11} 12}
javascript
1<script> 2 let box = document.getElementById("anm1"); 3 let get_original_value = window.getComputedStyle(box, null).getPropertyValue('transform'); 4 alert(get_original_value); 5 box.style.transform = 'translateX(200px)'; 6</script> 7 8matrix(1, 0, 0, 1, -100, 50)
回答1件
あなたの回答
tips
プレビュー