브라우저 쿠키를 활용해서, 토글등을 페이지 새로 고침후에도 직전 상태를 유지하는 설정입니다.
저는 토글에서만 활용중이고 제 pc에서만 테스트해서, 다른 환경은 어떨지 확신할 수는 없습니다.
모달창, 토글, 스크립트 등에 활용할 수 있지 않을까 싶습니다.
<?
// 쿠키 설정 함수 여기에 시간 단위로 입력설정 0.1은 6분
$kkk[38] = "0.1";
?>
<script>
function setCookie(name, value, hours) {
const expires = new Date(Date.now() + <?=$kkk[38];?> * 3600 * 1000).toUTCString();
document.cookie = `${name}=${value}; expires=${expires}; path=/`;
}
// 쿠키 읽기 함수
function getCookie(name) {
const cookieArr = document.cookie.split(';');
for (let i = 0; i < cookieArr.length; i++) {
const cookiePair = cookieArr[i].trim().split('=');
if (cookiePair[0] === name) {
return cookiePair[1];
}
}
return null;
}
// 페이지 로드 시 상태 복원
window.addEventListener('load', function() {
const isOpen = getCookie('boardState');
const detailsElement = document.getElementById('board-details');
detailsElement.open = (isOpen === 'true');
});
// 상태 변경 시 쿠키 설정
document.addEventListener('DOMContentLoaded', function() {
const detailsElement = document.getElementById('board-details');
detailsElement.addEventListener('toggle', function() {
setCookie('boardState', this.open, <?=$kkk[38];?>); // PHP에서 설정한 유지 시간 사용
});
});
</script>
<details id="board-details">
<summary>게시판 목록</summary><!--시간 쿠키설정함-->
내용테스트
</details>
게시글 목록
| 번호 | 제목 |
|---|---|
| 17819 |
JavaScript
당신이 알아야 할 자바스크립트의 강력한 7가지 팁
3
|
| 17818 |
JavaScript
자바스크립트 코드를 더 깔끔하고 보기 좋게 작성하는 팁
1
|
| 17817 |
PHP
chatgtp
|
| 17816 |
JavaScript
textarea 자동 높이 설정하기.
1
|
| 17814 | |
| 17811 |
JavaScript
자바스크립트 플래이그라운드 - RUNJS
|
| 17810 | |
| 17809 | |
| 17808 |
JavaScript
16진수 색상코드 확인함수
|
| 17803 | |
| 17799 | |
| 17798 | |
| 17797 |
JavaScript
동영상파일 썸네일 만들기
8
|
| 17795 |
JavaScript
div태그의 사이즈가 변경되는 이벤트를 처리하기
|
| 17794 |
JavaScript
초->hh:mm:ss로 변환하는 함수
1
|
| 17793 |
JavaScript
JSON Beautify
|
| 17790 |
PHP
JSONP실례
|
| 17789 | |
| 17786 |
JavaScript
ThreeJS로 3디지구에 포인트 찍고 정보 현시기능
|
| 17774 | |
| 17760 | |
| 17755 | |
| 17750 | |
| 17729 | |
| 17722 | |
| 17714 | |
| 17708 | |
| 17686 | |
| 17676 |
JavaScript
유튜브 풀화면 묵음배경 예제
9
|
| 17666 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기