func.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // 쿠키 값 설정
  2. function setCookie(name, value, days) {
  3. let expires = "";
  4. if (days) {
  5. const date = new Date();
  6. date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); // 일(day) 단위로 유효 기간 설정
  7. expires = ("; expires=" + date.toUTCString());
  8. }
  9. document.cookie = (name + "=" + encodeURIComponent(value) + expires + "; path=/");
  10. }
  11. // 쿠키 값 조회
  12. function getCookie(name) {
  13. const nameEQ = name + "=";
  14. const cookies = document.cookie.split(';');
  15. for (let i = 0; i < cookies.length; i++) {
  16. let cookie = cookies[i];
  17. while (cookie.charAt(0) === ' ') {
  18. cookie = cookie.substring(1, cookie.length); // 공백 제거
  19. }
  20. if (cookie.indexOf(nameEQ) === 0) {
  21. return decodeURIComponent(cookie.substring(nameEQ.length, cookie.length));
  22. }
  23. }
  24. return null;
  25. }
  26. // 쿠키 삭제
  27. function deleteCookie(name) {
  28. document.cookie = (name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;");
  29. }
  30. // 이미지 미리보기
  31. function setupImagePreview(fileInputID, previewImageID) {
  32. const fileInput = document.getElementById(fileInputID);
  33. const previewImage = document.getElementById(previewImageID);
  34. if (!fileInput || !previewImage) {
  35. return;
  36. }
  37. fileInput.addEventListener("change", function (e) {
  38. const file = e.target.files[0];
  39. const image = previewImage.querySelector("img");
  40. if (file && file.type.startsWith("image/")) {
  41. const reader = new FileReader();
  42. reader.onload = function (e) {
  43. image.src = e.target.result;
  44. previewImage.removeAttribute("hidden");
  45. };
  46. reader.readAsDataURL(file);
  47. } else {
  48. image.src = "";
  49. previewImage.setAttribute("hidden", "hidden");
  50. }
  51. });
  52. }