javascriptのコードの違いが分からないので教えて頂きたいです。
アナログ時計を動作させる時にsetIntervarを使うのですが②の表記でもいいのではないかと思ったのですが正常に動きません。
①と②のコードの違いを教えていただきたいです。
よろしくお願い致します。
①正常に動く
javascript
1<script> 2 var hour = document.querySelector(".hour"); 3 var minute = document.querySelector(".minute"); 4 var second = document.querySelector(".second"); 5 6 // 1秒毎に各針の角度を求めてそれを実行 7 setInterval(() => { 8 var date = new Date(); 9 var s = Math.floor((360 / 60) * date.getSeconds()); 10 var m = Math.floor((360 / 60) * date.getMinutes() + (s / 60)); 11 var h = Math.abs( date.getHours() % 12 ) / 12 * 360 + (m / 24); 12 13 second.style.transform = `rotate(${s}deg)`; 14 minute.style.transform = `rotate(${m}deg)`; 15 hour.style.transform = `rotate(${h}deg)`; 16 }, 1000); 17</script>
②針が動かない
<script> function action(){ var hour = document.querySelector(".hour"); var minute = document.querySelector(".minute"); var second = document.querySelector(".second"); var date = new Date(); var s = Math.floor((360 / 60) * date.getSeconds()); var m = Math.floor((360 / 60) * date.getMinutes() + (s / 60)); var h = Math.abs( date.getHours() % 12 ) / 12 * 360 + (m / 24); second.style.transform = `rotate(${second}deg)`; minute.style.transform = `rotate(${minute}deg)`; hour.style.transform = `rotate(${hour}deg)`; } setInterval(action, 1000); </script>
回答1件
あなたの回答
tips
プレビュー