[자바스크립트] 렌티큘러 카드 구현하기

[자바스크립트] 렌티큘러 카드 구현하기

사진처럼 보는 각도에 따라 보이는 이미지가 달라지는 걸 렌티큘러 카드(Lenticular Card)라 부릅니다. 저번에 작성했던 기기 방향을 감지하는 스크립트를 이용하면 굉장히 쉽게 구현할 수 있습니다. HTML <div id="card">     <div id="layer1" class="lenticular"></div>     <div id="layer2" class="lenticular"></div> </div> 배경 이미지가 보일 메인 레이어 하나와 각도에 따라 표시할 레이어 두 개만 추가해주면 끝납니다. CSS #card {     position: relative;     max-width: 100%;     height: 0;     padding-bottom: 100%;     background-image: url(배경_이미지);     background-size: cover; } #card .lenticular {     position: absolute;     width: 100%;...
191216 움짤 갤러리 제작일지

191216 움짤 갤러리 제작일지

비디오 제어 버튼 비디오 아래에 비디오를 일시 정지 / 재생하는 버튼과 소음(消音) / 해제하는 버튼을 추가했습니다.소리 토글 버튼은 비디오에 소리가 있을 때만 나타납니다. document.querySelector("video").addEventListener("click", function() {     if (typeof this.webkitAudioDecodedByteCount !== "undefined") {         if (this.webkitAudioDecodedByteCount > 0) {             console.log("소리 있는 비디오임")         }     }     else if (typeof this.mozHasAudio !== "undefined") {         if (this.mozHasAudio) {             console.log("소리 있는 비디오임")         }     } }) 위 코드를 사용해 비디오에 소리가 있는지 판단합니다.위 코드의 두 if 문에 걸리지 않으면 비디오에 소리가 있는지 없는지 판단할 수 없다는...
서브 블로그 개설 - 움짤 갤러리

서브 블로그 개설 - 움짤 갤러리

블로그 링크예전에 차지해둔 chaeyoung.tistory.com이란 도메인을 썼습니다. 블로그 두 개를 한 번에 운영해보는 건 처음이네요.vryjam이 서비스를 종료해버려서 대체재가 없나 찾다가 그냥 만들었습니다. 움짤 보거나 첨부할 때 vryjam처럼 태그가 있으면 편하겠다 싶어서 작업을 시작했는데, 태그 없이 움짤 찾는 것보다 움짤에 태그를 넣는 게 더 힘드네요. 인덱스 페이지엔 정말 단순히 움짤만 나열되도록 해뒀습니다.빠른 로딩을 위해 gif가 아닌 mp4로...
티스토리 모바일 페이지 완벽히 비활성화하기

티스토리 모바일 페이지 완벽히 비활성화하기

사진처럼 홈 화면까진 접속되지만, 글을 클릭하는 순간 /m이 사라진 주소로 리다이렉트됩니다. 191215 업데이트 - 티스토리 앱에서도 작동 기초 작업 먼저, 관리자 페이지에서 꾸미기 모바일로 가셔서 티스토리 모바일웹 자동 연결을 "사용하지 않습니다."로 먼저 변경해주세요. 플러그인 작업 위 작업을 마쳐도 자동으로 리다이렉트되는 것만 막을 뿐이지 접속은 됩니다. 심지어 검색 엔진에 노출도 되고요. 티스토리에서 광고 넣는 용도로 만든...
191214 블로그 제작일지

191214 블로그 제작일지

슬라이더 업데이트 슬라이더 업데이트로 이제 겉으로 보기엔 제 기준 완벽한 슬라이더에 가까워졌습니다. 내부적인 코드는 좀 개판이지 않나 싶지만요. 예전엔 슬라이더를 스와이프로 넘길 때, 100픽셀 이상 스와이프 하면 그냥 무조건 다음 / 이전 아이템으로 넘겼습니다. 100픽셀 이상 스와이프 하기 전엔 아무 일도 일어나지 않았고요.이젠 스와이프를 시작하자마자 슬라이더가 움직이기 시작합니다. 슬라이더에서 마우스를 떼거나 터치를 중단했을 때, x...
홈 화면 슬라이더 업데이트!

홈 화면 슬라이더 업데이트!

190805 제작일지에도 좌, 우로 슬라이드 되는 애니메이션을 추가했었는데, 그때와는 좀 많이 다른 방식의 애니메이션입니다. 당시엔 슬라이더에 들어있는 아이템 하나하나에 class를 부여해서, 보는 중인 아이템, 다음에 나올 아이템, 이전을 누르면 나올 아이템 세 가지 모두 별도의 class를 갖고 있어야 했습니다. 단순히 이전 / 다음만 클릭하면 상관없는데, 슬라이더 하단에 있는 버튼을 클릭하면 저 세 class를 다 다시...
191205 블로그 제작일지

191205 블로그 제작일지

캐시 헤더 캐싱 초보의 비애에서도 정리했지만, 캐시 헤더를 올바르게 추가해서 캐시가 제대로 동작합니다. 과하게 잘 돼서 문제였죠. HTML엔 캐시 헤더가 들어가지 않도록 해뒀습니다. Cache-Control 보시면 HTML 파일엔 no-cache가 들어가 있는 걸 보실 수 있을 겁니다. 각종 최적화 이제 무작정 늘어놓기보단 최적화도 좀 하면서 일을 벌일까 생각 중입니다. 워드프레스는 각종 쿼리 덕에 사이트 편집이 쉽지만, 쿼리...
[자바스크립트] 현재 중심적인 시간 표시하기

[자바스크립트] 현재 중심적인 시간 표시하기

"2019.12.04 23:00" 처럼 표기된 시간을 현재 시각을 기준으로 "13분 전" 처럼 변경하는 스크립트입니다. 아래 작성한 코드는 티스토리에 적용하는 용도로 작성한 코드인데, 시간 바꾸는 부분만 응용하시면 어디서든 사용하실 수 있지 싶네요. function date() {   const now = new Date().getTime();   [...document.querySelectorAll(".date a")].forEach(a => {       a.classList.add("abuseReport");       a.parentNode.parentNode.appendChild(a);   });   //티스토리 댓글 신고 버튼 밖으로 뺴기   [...document.querySelectorAll(".date")].forEach(a => {       if (!a.classList.contains("modded")) {           const text = a.innerText.trim(),                 date = new Date(`${                     (text.length === 8 && text.indexOf(":") !== -1)                     ? `${now.getFullYear()}.${now.getMonth() + 1}.${now.getDate()} ${text}`                     : text                 }`).getTime(),                 diff = (now - date)/1000,                 dayDiff = Math.floor(diff/86400);           a.innerText = `${               diff < 86400               ? (                   text.length > 13                   //글자가 13자 초과면 보통 시간 정보가 있으니 13자 초과일 때만 n시간 전으로 표시                   ? (                       diff < 240 ? "방금" : diff < 3600 ? `${Math.floor(diff/60)}분 전` : `${Math.floor(diff/3600)}시간 전`                   )...
캐싱 초보의 비애

캐싱 초보의 비애

10월 24일에 적은 제작일지에서 캐시 헤더를 추가했다고 적었는데, 일단 거기서부터 틀렸습니다. 제일 먼저 .htaccess를 수정해 코드를 작성했습니다. 제가 어드민이라 conf 파일을 수정할 수 있음에도요. 더 큰 문제는 서버에 캐시 헤더를 추가하기 위한 모듈이 설치되어 있었지만 저는 그 모듈을 활성화하지 않고 모듈이 활성화돼있으면 캐시 헤더를 설정하는 코드만 추가해뒀고, 당연히 캐싱은 제대로 작동하고 있지 않았습니다. 그제 그...
56789
카카오페이 qr코드 모바일이시라면 클릭