애슐리퀸즈 할인 총정리, 전복스테이크부터 VIP 혜택까지 알차게 즐기는 방법
애슐리퀸즈 할인, 전복스테이크, 캐시 충전 혜택까지 완벽 정리! 가격표, 시간제한, 앱 쿠폰, VIP 등급 정보까지 실속 가이드 처음 애슐리퀸즈에 방문했을 때, 가격이 생각보다 합리적이라 놀랐습니다. 그리고 한 번 할인 혜택을 알아보니, 이건 모르면 진짜 손해더군요. 전복스테이크 같은 시즌 메뉴부터 VIP 적립, 쿠폰 활용법까지 제대로 파악하면 가성비는 물론 '가심비'도 챙길 수 있습니다.애슐리퀸즈 가격표 총정리 (2025년 최신)애슐리퀸즈의 가격은 매장마다 조금씩 다르지만, 전국 평균 기준은 다음과 같습니다. 구분 평일 런치 평일 디너 주말/공휴일 성인19,900원25,900원27,900원초등학생12,900원15,900원15,900원미취학 아동7,900원7,900원7,900원※ 36개월 미만 유아..
2025. 9. 9.
쿠팡플레이 스포츠패스 요금·동시접속·할인 완전정리 (2025 최신)
쿠팡플레이 스포츠패스 요금부터 동시접속 제한, 와우회원 할인, 카드 이벤트까지 완전정리! 2025년 8월 최신 정보를 꼭 확인하세요.쿠팡이 스포츠팬을 위해 만든 구독 서비스, ‘쿠팡플레이 스포츠패스’지금도 ‘해지할까?’, ‘할인 있나?’, ‘동시접속 되나?’ 고민하고 계신가요?2025년 8월 기준 요금제, 접속 정책, 할인 혜택, 리워드, 해지 방법까지 한눈에 정리된 정보만 모았습니다.시간 아끼고, 돈 아끼는 스포츠패스 완전정복 가이드 시작합니다.쿠팡플레이 스포츠패스란? (서비스 요약)프리미어리그, F1, NBA, K리그, 클럽월드컵까지 글로벌 스포츠 중계를 고화질로 실시간 제공하는 쿠팡의 전용 스포츠 OTT입니다.특징 요약:4K 고화질 시청 + 하이라이트·다시보기 포함유럽 직관, 유니폼 리워드, 스카이..
2025. 8. 18.
아반떼 CN7 중고 시세부터 연비·옵션까지, 2025년 최신 구매 가이드
2025 아반떼 CN7 중고차 시세, 연비, 옵션, 관리 꿀팁 총정리! 구매 전 반드시 확인해야 할 핵심 정보만 모았습니다.2025년 기준, 아반떼 CN7은 여전히 '국민 준중형 세단'이라는 수식어가 아깝지 않습니다.합리적인 가격, 깔끔한 디자인, 넉넉한 연비까지 삼박자를 갖춘 CN7은 중고 구매 대상으로도 큰 인기를 끌고 있죠.이번 글에서는 아반떼 CN7의 중고차 시세, 연비, 와이퍼·배터리 관리법, 인스퍼레이션 트림 옵션, 그리고 고려해야 할 실제 구매 포인트까지 전부 정리해드립니다.실제 구매를 고민 중이라면 이 글이 큰 도움이 되실 겁니다.CN7 중고 시세와 가격 흐름 분석2025년 기준으로 CN7 중고가는 연식·트림에 따라 다음과 같이 형성되어 있습니다. 연식 트림 시세 범위 (만원) 비고 ..
2025. 8. 4.
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);