回答編集履歴

2

調整

2022/07/20 03:43

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -21,6 +21,10 @@
21
21
  [data-status="wait"] .txt:before{
22
22
  content:"待機";
23
23
  }
24
+ .complete ~ p{
25
+ display:none;
26
+ }
27
+
24
28
  </style>
25
29
  <script>
26
30
  document.addEventListener('click', e=>{
@@ -30,11 +34,16 @@
30
34
  const p=t.closest('[data-status]');
31
35
  if(p.dataset.status=='confirm'){
32
36
  p.dataset.status='complete';
37
+ if(p.nextElementSibling){
33
- if(p.nextElementSibling) p.nextElementSibling.dataset.status='confirm';
38
+ p.nextElementSibling.dataset.status='confirm';
39
+ }else{
40
+ p.closest('.container').classList.add('complete');
41
+ }
34
42
  }
35
43
  }
36
44
  });
37
45
  </script>
46
+ <div class="container">
38
47
  <div id="test1" data-status="complete">
39
48
  <div class="main">
40
49
  <h1 class="inner_ttl">テスト1</h1>
@@ -64,4 +73,7 @@
64
73
  <p class="txt"></p>
65
74
  </div>
66
75
  </div>
76
+ </div>
77
+ <p>全て完了にして</p>
67
78
  ```
79
+ 「全て完了」の表記を追記しておきました

1

chousei

2022/07/20 01:17

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -25,11 +25,13 @@
25
25
  <script>
26
26
  document.addEventListener('click', e=>{
27
27
  const t=e.target;
28
- let p;
29
- if(t.matches('.link_txt') && (p=t.closest('[data-status]')).dataset.status=='confirm'){
28
+ if(t.matches('.link_txt')){
30
29
  e.preventDefault();
30
+ const p=t.closest('[data-status]');
31
+ if(p.dataset.status=='confirm'){
31
- p.dataset.status='complete';
32
+ p.dataset.status='complete';
32
- if(p.nextElementSibling) p.nextElementSibling.dataset.status='confirm';
33
+ if(p.nextElementSibling) p.nextElementSibling.dataset.status='confirm';
34
+ }
33
35
  }
34
36
  });
35
37
  </script>