回答編集履歴
1
調整
test
CHANGED
@@ -3,17 +3,21 @@
|
|
3
3
|
```html
|
4
4
|
<script src="https://cdn.jsdelivr.net/npm/js-cookie@rc/dist/js.cookie.min.js"></script>
|
5
5
|
<script>
|
6
|
-
const vaild=
|
6
|
+
const vaild=30;
|
7
7
|
const expires=vaild/86400;
|
8
8
|
window.addEventListener('DOMContentLoaded', ()=>{
|
9
|
-
i
|
9
|
+
let finish=Cookies.get("finish");
|
10
|
+
if (!finish){
|
10
11
|
dlg.showModal();
|
11
12
|
dlg.addEventListener('close',()=>{
|
13
|
+
finish=(new Date()).getTime()+vaild*1000;
|
12
|
-
Cookies.set("
|
14
|
+
Cookies.set("finish",finish,{expires});
|
13
15
|
});
|
14
16
|
}
|
15
17
|
setInterval((function myfunc(){
|
18
|
+
let rest=(finish??0)-(new Date()).getTime();
|
19
|
+
if(rest<=0) rest=0;
|
16
|
-
debug.textContent=
|
20
|
+
debug.textContent=((finish?rest:(vaild*1000))/1000).toFixed(3)
|
17
21
|
return myfunc;
|
18
22
|
})(),100);
|
19
23
|
document.querySelector('.close').addEventListener('click',()=>dlg.close());
|
@@ -24,5 +28,7 @@
|
|
24
28
|
<hr>
|
25
29
|
<input type="button" value="close" class="close"></dialog>
|
26
30
|
```
|
31
|
+
※ちょっと挙動がわかりづらかったので修正
|
27
|
-
画面に
|
32
|
+
画面に残り秒数が表示されている間はダイアログは表示されません。
|
33
|
+
残りが0になった場合、リロードしてもあらたにページを開いてもダイアログが表示されます
|
28
|
-
ダイアログを閉じてから
|
34
|
+
ダイアログを閉じてから30秒間有効にしてあります。
|