본문 바로가기
반응형

분류 전체보기837

산리오 키즈 페스티벌 예약 꿀팁! 하남 스타필드 방문 전 필독 주제 시각자료 산리오 키즈 페스티벌 예약 꿀팁! 하남 스타필드 방문 전 필독 이번 포스팅에서 하남 스타필드 산리오 키즈 페스티벌 사전예약, 체험존 구성, 교통, 주차 꿀팁까지 한눈에 정리했습니다.올여름 아이와 특별한 추억을 만들고 싶다면, 지금 주목하세요.‘산리오 키즈 페스티벌’이 하남 스타필드에서 성대하게 열립니다.귀여운 캐릭터들과 직접 체험할 수 있는 콘텐츠로 가득 찬 이번 행사는, 사전예약 필수인 인기 이벤트입니다.예약 방법, 유료 체험존 정보, 주차 팁까지 꼭 알고 가야 후회 없는 방문이 됩니다.산리오 키즈 페스티벌 행사 개요언제, 어디서 열리나요?장소: 스타필드 하남점 1층 중앙광장일정: 2025년 8월 8일(금) ~ 10일(일), 총 3일시간: 오전 10:30 ~ 오후 20:50, 총 10회차(회차당 60분 운영)이번 페스티벌은 하루 10회차로 진행되며, 회차당 약 3.. 2025. 6. 27.
오타니 MLB 125년 대기록, 야구 역사 바꾼 6가지 최초 주제 시각자료 오타니 MLB 125년 대기록, 야구 역사 바꾼 6가지 최초 MLB 125년 역사상 최초 대기록, 오타니 쇼헤이의 홈런·도루·MVP까지 기록 총정리2025년 6월 22일, 메이저리그 역사는 다시 쓰였습니다.오타니 쇼헤이, LA 다저스의 슈퍼스타는 워싱턴 내셔널스와의 경기에서 전무후무한 활약을 펼쳤습니다.그는 1번 타자이자 선발 투수로 출전, 4타수 2안타(1홈런, 1트리플), 5타점, 1볼넷을 기록하며 MLB 125년 역사상 유일한 ‘투타 겸업 3루타+홈런 기록’을 세웠습니다.야구 팬이라면 누구든 이 경기의 순간을 잊지 못할 겁니다. 단순한 기록 이상의 의미가 있었으니까요.1. 투수와 타자의 경계 허문 유일한 기록2025년, 오타니는 투수로 등판하면서 홈런과 3루타를 동시에 기록한 유일한 선수가 됐습니다.이는 메이저리그 125년 역사에서 단 두 번 있었던 일로, .. 2025. 6. 26.
F1더무비관람평, 브래드 피트가 만든 전설의 레이싱 감동 실화 주제 시각자료 F1더무비관람평, 브래드 피트가 만든 전설의 레이싱 감동 실화 압도적 레이싱 액션과 감동 실화, 영화 F1 더 무비 관람 후기! IMAX로 꼭 봐야 할 이유를 지금 확인하세요.“레이싱을 몰라도 이 영화는 사랑하게 됩니다.”2025년 6월, 전 세계 F1 팬들의 심장을 뛰게 한 영화가 개봉했습니다.그 이름은 바로 F1 더 무비. 브래드 피트가 주연과 제작을 맡고, '탑건: 매버릭'의 조셉 코신스키 감독이 메가폰을 잡은 이 작품은단순한 레이싱 영화가 아닌, 감정과 드라마, 속도와 리얼리티가 절묘하게 결합된 명작입니다.실화보다 더 리얼했던 레이싱 액션, 왜 극장에서 봐야 할까?탑건 매버릭 제작진의 귀환: 레이싱으로 무대를 옮기다F1 더 무비는 실제 F1 경기장과 레이싱카, 드라이버를 섭외하여 현장감 넘치는 촬영을 진행했습니다. 제작에는 '탑건: 매버릭'의 조셉 코신스키 .. 2025. 6. 26.
박미선 병명 진실은? 소속사 공식입장과 건강 회복 소식 정리 주제 시각자료 박미선 병명 진실은? 소속사 공식입장과 건강 회복 소식 정리 박미선 병명 관련 소문은 사실일까요? 공식 발표와 함께 현재 건강 상태, 휴식 이유, 복귀 여부까지 정리했습니다.2025년 초부터 연예계에 떠도는 루머 중 하나는 바로 ‘박미선 병명’ 관련 내용이었습니다.그녀의 갑작스러운 방송 중단, 유튜브 활동 종료, 이어지는 건강이상설은 순식간에 대중의 관심을 끌며 검색량을 폭발적으로 끌어올렸습니다.하지만 사실은 무엇일까요? 공식 입장과 현재 근황을 토대로 냉정하게 정리해드립니다.박미선 병명 관련 공식 입장은 무엇인가?방송 중단 배경은 무엇인가요?2025년 1월부터 박미선 씨는 본인의 유튜브 채널 ‘마미선’을 포함한 모든 방송 활동을 중단했습니다. 특히 JTBC ‘블랙박스 리뷰’ 등 고정 프로그램 하차로 인해 ‘박미선 건강이상’, ‘박미선 투병’ 등 루머가 퍼졌습니다.. 2025. 6. 26.
5호선 방화범 신상 공개 논란, 충격의 CCTV와 범행 이유 총정리 주제 시각자료 5호선 방화범 신상 공개 논란, 충격의 CCTV와 범행 이유 총정리 이번 포스팅에서는 2025년 서울 지하철 5호선 방화 사건. 방화범 원씨의 신상, CCTV 공개, 범행 동기까지 실시간 정보로 정리합니다.2025년 5월 31일 오전 8시 43분경, 서울 지하철 5호선 여의나루역과 마포역 사이에서 발생한 방화 사건은 한국 사회에 큰 충격을 안겼습니다.이른 출근길을 지나는 시민 481명이 타고 있던 열차에서 벌어진 방화 테러는 단순한 일탈이 아니라, 사전에 치밀하게 계획된 사회적 범죄였습니다.마포역 방화 사건의 개요와 발생 시간당시 사건은 여의나루~마포역 사이의 하저터널 구간에서 발생했습니다. 이 구간은 도심 내에서도 가장 대피가 어려운 구조로 알려져 있는데요.5호선방화범신상으로 알려진 67세 남성 원모씨는 이 지역에서 휘발유를 바닥에 두 차례 뿌린 후, 토치형 라이터로 .. 2025. 6. 26.
KBO 올스타전 2025 예매 총정리: 일정·좌석·선수명단까지 한눈에 주제 시각자료 KBO 올스타전 2025 예매 총정리: 일정·좌석·선수명단까지 한눈에 2025 KBO 올스타전 예매는 언제부터? 좌석 가격부터 선수 명단, 교통·굿즈까지 핵심 정보 정리! 지금 바로 확인하세요.2025년 여름, 야구 팬들의 뜨거운 축제가 시작됩니다.이번 KBO 올스타전은 대전 신축 야구장에서 사상 처음으로 열리며, 예매 일정과 좌석, 베스트12 선수 명단, 팬 이벤트까지 다채로운 콘텐츠가 준비되어 있습니다.이 글 하나로 예매 방법부터 좌석 가격, 투표 방식까지 모든 정보를 확인하세요.1. 2025 KBO 올스타전 일정과 특징1.1 대전 신축구장에서 처음 열리는 올스타전KBO는 2025년 올스타전 개최지를 대전으로 확정했습니다.이번 경기는 대전엑스포 시민광장 신축구장에서 열리며, 시설 확충과 팬 접근성을 높인 첫 시도입니다.팬들의 기대를 한 몸에 받고 있는 ‘첫 번째 대전 .. 2025. 6. 26.
반응형

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);