回答編集履歴

1

調整

2025/03/13 02:17

投稿

yambejp
yambejp

スコア117413

test CHANGED
@@ -30,3 +30,38 @@
30
30
  </style>
31
31
  <div class="rotate-box">testtest</div>
32
32
  ```
33
+ # 調整
34
+ アニメーション中はクリックできないような仕様を追記しました
35
+ ```html
36
+ <script>
37
+ document.addEventListener('click',e=>{
38
+ const t=e.target;
39
+ if(t.matches('.rotate-box:not(.running)')){
40
+ t.classList.toggle('click1');
41
+ t.classList.toggle('click2',!t.classList.contains('click1'));
42
+ }
43
+ });
44
+ addEventListener("transitionstart", e=>{
45
+ const t=e.target;
46
+ t.classList.add('running');
47
+ });
48
+ document.addEventListener("transitionend",e=> {
49
+ const t=e.target;
50
+ t.classList.remove('running');
51
+ t.classList.remove('click2');
52
+ });
53
+ </script>
54
+ <style>
55
+ .rotate-box {
56
+ display: block;
57
+ width: 100px;
58
+ height: 100px;
59
+ border: 1px solid #000;
60
+ margin: 50px auto;
61
+ cursor: pointer;
62
+ }
63
+ .click1{ transform: rotate(180deg);transition: 1s;}
64
+ .click2{ transform: rotate(360deg);transition: 1s;}
65
+ </style>
66
+ <div class="rotate-box">testtest</div>
67
+ ```