본문 바로가기
반응형

양자리 운세2

5월 별자리 운세|12별자리 총정리 & 행운 포인트 주제 시각자료 5월 별자리 운세|12별자리 총정리 & 행운 포인트 5월 별자리 운세 완벽 정리! 양자리부터 물고기자리까지 12별자리의 연애운, 금전운, 건강운과 함께 행운의 날, 피해야 할 행동까지 총망라했습니다.1. 5월 별자리 운세, 왜 중요할까?2025년 5월은 별자리 에너지의 전환점이 도래하는 달입니다. 태양이 황소자리에서 쌍둥이자리로 이동하면서 감정, 재정, 인간관계 등 전반적인 흐름에 영향을 미칩니다. 이 글은 [5월 별자리 운세]를 중심으로 각 별자리의 연애운, 금전운, 직장운, 건강운까지 세부적으로 정리했습니다.2. [5월 별자리 운세] 핵심 요약 테이블 별자리 연애운 금전운 직장운 건강운 행운의 날 주의사항 양자리좋음상승도약양호5월 9일성급한 결정 금지황소자리안정풍요안정주의5월 14일고집 부리지 말기쌍둥이자리활발불안정배움 기회무난5월 21일약.. 2025. 5. 7.
2025년 4월, 내 별자리 운세는? 사랑과 재물의 기운이 흐른다 주제 시각자료 2025년 4월, 내 별자리 운세는? 사랑과 재물의 기운이 흐른다 2025년 4월 12별자리 운세 총정리! 애정운, 재물운, 인생 조언까지 한눈에 보는 월간 별자리 가이드 “이번 달, 내 인생에 무슨 일이 일어날까?”4월은 계절만 봄이 아니라 운도 피어나는 시기예요.특히 애정운과 재물운이 요동치는 시기이니, 미리 내 별자리에 어떤 기운이 흐르는지 알아두면 손해 볼 일 없겠죠? 이번 포스팅에서는🧡 사랑운 💲 재물운 👁‍🗨 삶의 조언까지2025년 4월 12별자리 운세를 한 번에 정리해드릴게요.1. 양자리 (3.21~4.19)🔥 과거의 사랑과 재회할 운세애정운: 잊지 못한 옛 연인과 마주칠 수 있어요. 그러나 현실에 충실할 때입니다.재물운: 작은 돈이 들어오고 큰돈이 나가요. 충동지출 주의!4월의 조언: 쓸데없는 걱정은 내려놓고, 스트레스 관리에 집중하세요.행운 .. 2025. 4. 1.
반응형

setTimeout(function () { const dragSensitivity = 0.55; // 드래그 민감도 const clickTolerance = 0; // 클릭 간주 기준 (px), 0: 클릭 시 이동 안함. 클릭 시 이동하려면 1~3값 설정 고려. const dragRatioThreshold = 0.55; // 배너 너비 대비 드래그 비율, 배너 드래그 후 드롭 시. const newWindow = 1; // 1: 새 창, 0: 현재 창 const bannerConfigs = [ { selector: '.sliding-banner-300', width: 300, height: 300, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x600-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-150', width: 320, height: 150, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/640x300-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-32Ox15O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-250', width: 300, height: 250, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x500-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-280', width: 336, height: 280, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x500-back3.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-right.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrow-right.png', dragDirection: 'right' } ]; const coupangLink = 'https://link.coupang.com/a/c2PToW'; // 본인의 간편 링크로 대체 📍 function openLink(link) { if (newWindow) { window.open(link, '_blank'); } else { history.replaceState(null, null, window.location.href); window.location.href = link; } } function generateIframeURL(config) { return `https://ads-partners.coupang.com/widgets.html?id=${config.id}&template=carousel&trackingCode=${config.trackingCode}&subId=${encodeURIComponent(config.subId || '')}&width=${config.width}&height=${config.height}&tsource=${encodeURIComponent(config.tsource || '')}`; } function createBanner(config) { const iframeURL = generateIframeURL(config); const wrapper = document.createElement('div'); wrapper.innerHTML = `
`; return wrapper; } // trigger event update function setupDragEvents(dragTarget, animatedBanner, threshold, link, direction) { let startX = 0, diffX = 0, triggered = false, isDragging = false; function getClientX(e) { return e.type.includes('touch') ? e.touches[0].clientX : e.clientX; } function triggerOnce() { if (triggered) return; triggered = true; animatedBanner.style.transform = 'translateX(0)'; animatedBanner.classList.add('active'); openLink(link); } function startDrag(e) { if (e.type.startsWith('mouse') && e.button !== 0) return; isDragging = true; startX = getClientX(e); diffX = 0; triggered = false; animatedBanner.classList.remove('active'); e.preventDefault(); } function onDrag(e) { if (!isDragging) return; const currentX = getClientX(e); diffX = currentX - startX; if ((direction === 'left' && diffX < 0) || (direction === 'right' && diffX > 0)) { animatedBanner.style.transform = `translateX(${diffX}px)`; if (Math.abs(diffX) > threshold) { triggerOnce(); } e.preventDefault(); } } function endDrag() { if (!isDragging) return; isDragging = false; const dragRatio = Math.abs(diffX) / dragTarget.offsetWidth; if (Math.abs(diffX) < clickTolerance || ( dragRatio >= dragRatioThreshold && ((direction === 'left' && diffX < 0) || (direction === 'right' && diffX > 0)) )) { triggerOnce(); } else { animatedBanner.style.transform = 'translateX(0)'; animatedBanner.classList.add('active'); } diffX = 0; } dragTarget.addEventListener('mousedown', startDrag); dragTarget.addEventListener('mousemove', onDrag); dragTarget.addEventListener('mouseup', endDrag); dragTarget.addEventListener('mouseleave', endDrag); dragTarget.addEventListener('touchstart', startDrag, { passive: false }); dragTarget.addEventListener('touchmove', onDrag, { passive: false }); dragTarget.addEventListener('touchend', endDrag); } // end bannerConfigs.forEach(config => { const targets = document.querySelectorAll(config.selector); if (targets.length === 0) return; targets.forEach(target => { target.innerHTML = ''; const banner = createBanner(config); target.appendChild(banner); const customBox = banner.querySelector('.customBox'); const animatedBanner = banner.querySelector('.customBanner'); const threshold = config.width * dragSensitivity; setupDragEvents(customBox, animatedBanner, threshold, coupangLink, config.dragDirection); }); }); }, 100);