디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

javascript 도와주세요...ㅠㅠ

도와주세요(115.143) 2025.03.06 19:49:35
조회 60 추천 0 댓글 2

안녕하세요 처음으로 코딩하면서 챗지피티랑 공부하고 있는데요 ㅜㅜ


자바로 슬라이드 이미지 코드를 만들었는데 슬라이드랑 터치로 이미지를 넘기도록 코드를 만들었습니다.

터치로는 다음 이미지로 잘 넘어가는데 슬라이드가 문제에요 ㅜㅜ 


터치로는 다음이미지가 가운데로 위치가 고정되는데 슬라이드로는 가운데로 고정되지 않고,

이미지를 넘긴 후 다음이미지로 넘기려고 화면을 누르면 자꾸 이전 이미지로 돌아가요...


한번만 도와주세요ㅜㅜ


아래는 현재 코드입니다...


document.addEventListener('DOMContentLoaded', () => {
const slides = document.querySelectorAll(".slide");
let currentIndex = 0;
const totalSlides = slides.length;
let startX = 0, currentX = 0, delta = 0;
let isDragging = false;
let wasDragged = false; // 드래그가 발생했는지 여부
const offsetBase = 290;
const threshold = 50; // 전환 임계값

function updateSlides() {
slides.forEach(slide => {
const i = Number(slide.dataset.index);
const distance = i - currentIndex;
const baseOffset = distance * offsetBase;
let scale, opacity;
if (distance === 0) {
scale = 1;
opacity = 1;
slide.style.zIndex = 2;
} else if (Math.abs(distance) === 1) {
scale = 0.8;
opacity = 0.5;
slide.style.zIndex = 1;
} else {
scale = 0.8;
opacity = 0;
slide.style.zIndex = 0;
}
slide.style.transition = 'transform 0.3s ease, opacity 0.3s ease';
slide.style.transform = `translate(-50%, -50%) translateX(${baseOffset}px) scale(${scale})`;
slide.style.opacity = opacity;
});
}

function getClientX(e) {
return e.type.includes("mouse") ? e.clientX : e.touches[0].clientX;
}

function dragStart(e) {
isDragging = true;
wasDragged = false; // 드래그 시작 시 false로 초기화
startX = getClientX(e);
currentX = startX;
slides.forEach(slide => {
slide.style.transition = 'none';
});
}

function dragMove(e) {
if (!isDragging) return;
currentX = getClientX(e);
delta = currentX - startX;
if (Math.abs(delta) > 5) { // 미세한 움직임은 클릭으로 간주하지 않음
wasDragged = true;
}
slides.forEach(slide => {
const i = Number(slide.dataset.index);
const distance = i - currentIndex;
const baseOffset = distance * offsetBase;
const currentOffset = baseOffset + delta;
// 효과적 값 계산: 중앙에 가까워질수록 효과 적용
const effective = Math.abs(currentOffset) / offsetBase;
let scale, opacity;
if (effective <= 1) {
scale = 1 - 0.2 * effective;
opacity = 1 - 0.5 * effective;
} else {
scale = 0.8;
opacity = 0.5;
}
slide.style.transform = `translate(-50%, -50%) translateX(${currentOffset}px) scale(${scale})`;
slide.style.opacity = opacity;
});
e.preventDefault();
}

function dragEnd(e) {
if (!isDragging) return;
isDragging = false;
const endX = e.type.includes("mouse") ? e.clientX : e.changedTouches[0].clientX;
delta = endX - startX;
if (delta < -threshold && currentIndex < totalSlides - 1) {
currentIndex++;
} else if (delta > threshold && currentIndex > 0) {
currentIndex--;
}
updateSlides();
delta = 0;
}

slides.forEach(slide => {
slide.addEventListener("mousedown", dragStart);
slide.addEventListener("mousemove", dragMove);
slide.addEventListener("mouseup", dragEnd);
slide.addEventListener("mouseleave", dragEnd);
slide.addEventListener("touchstart", dragStart, { passive: false });
slide.addEventListener("touchmove", dragMove, { passive: false });
slide.addEventListener("touchend", dragEnd, { passive: false });
// 클릭 이벤트: 드래그가 발생했다면 무시
slide.addEventListener("click", (e) => {
if (wasDragged) {
e.preventDefault();
return;
}
const clickedIndex = Number(slide.dataset.index);
if (clickedIndex !== currentIndex) {
currentIndex = clickedIndex;
updateSlides();
}
});
});
updateSlides();
});




추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 매니저들에게 가장 잘할 것 같은 스타는? 운영자 25/03/10 - -
2826371 3평 원룸에 살아요 ll "여기 월세가 60만원입니다" 발명도둑잡기갤로그로 이동합니다. 03.07 46 0
2826369 냥덩이 왜 그러는지 설명 발명도둑잡기갤로그로 이동합니다. 03.07 32 0
2826366 ai시대에는 코드 읽기 능력이 중요할듯? [2] 뉴진파갤로그로 이동합니다. 03.07 59 0
2826359 "탄핵 인용 시 폭동" 발언 황교안, 내란선동 혐의로 고발당해 발명도둑잡기갤로그로 이동합니다. 03.07 50 0
2826358 "탄핵 인용 시 폭동" 황교안, 내란선동 혐의로 고발 발명도둑잡기갤로그로 이동합니다. 03.07 32 0
2826356 원조 책받침 여신’ 왕조현 깜짝 근황 발명도둑잡기갤로그로 이동합니다. 03.07 35 0
2826354 이 프로그램 이름 뭐냐 [1] 프갤러(211.59) 03.07 88 0
2826352 혼자서 다 하는 슈퍼 개발자 될려고 개발하는거지 [2] ㅆㅇㅆ(124.216) 03.07 70 0
2826350 코딩 왜하는거? 지피티 클로드 제1의 목표가 개발자 대첸데ㅋ [3] 프갤러(175.193) 03.07 101 0
2826336 영화 저렴하게 찍는 방법 [1] 발명도둑잡기갤로그로 이동합니다. 03.07 47 0
2826332 조금만 더 힘내자 ㅇㅇ(59.28) 03.07 31 0
2826330 ‘김어준 유튜브’ 출연한 나문희…‘좌파’ 낙인에 밝힌 속마음 발명도둑잡기갤로그로 이동합니다. 03.07 35 0
2826329 '국민 아버지' 최불암, '비상계엄'에 목소리 냈다..."올바른 역사 알 발명도둑잡기갤로그로 이동합니다. 03.07 46 0
2826328 이런거는 뭐가 메인 도메인이냐 프갤러(211.235) 03.07 44 0
2826326 '몽정기'로 뜨고 BJ로 흥한 강은비..이젠 ♥변준필의 아내로 발명도둑잡기갤로그로 이동합니다. 03.07 53 0
2826325 "범 내려온다" 尹비어천가‥무뎌진 비판에 '언론도 내란 공범' 발명도둑잡기갤로그로 이동합니다. 03.07 39 0
2826324 고수님들 구글 크롬 확장앱 수익화 어떤식으로 되나요? [4] 프갤러(121.175) 03.07 40 0
2826323 경제 망친 대통령이 정치를 잘 하는 건가요? 발명도둑잡기갤로그로 이동합니다. 03.07 39 0
2826321 취미삼아 코딩 공부하려는데 기본적인거 질문이요 [1] 프갤러(115.23) 03.07 49 0
2826318 odin 문법이 zig 보다 마음에 들어요 *루비*갤로그로 이동합니다. 03.07 34 1
2826317 오늘 만보 걸었다. [1] 넥도리아(61.83) 03.07 31 0
2826316 알고리즘 문풀도 예전같지 않노.. ㅇㅇ(118.40) 03.07 39 0
2826315 모뎀 다리 [1] 넥도리아(223.38) 03.07 146 0
2826314 ㅇㅅㅇ ♥냥덩이♥갤로그로 이동합니다. 03.06 42 0
2826313 나 같은 솔플 특화형은 소규모 좆소가 잘 맞던데 ㅇㅅㅇ [2] 강유현갤로그로 이동합니다. 03.06 64 0
2826312 이 갤이 재미없는 이유)냥덩이가 재밌는 사람 다 쫓아냄 [2] ㅆㅇㅆ(124.216) 03.06 73 0
2826311 너희는 왜 이렇게 심심하구 재미없는 노잼들 뿐인거야? [1] ♥냥덩이♥갤로그로 이동합니다. 03.06 53 0
2826310 가슴에 손 얹고 캐시 친화적 코드 짜 본 프붕이 있음 ㅇㅅㅇ? [8] 강유현갤로그로 이동합니다. 03.06 79 0
2826309 ㅇㅅㅇ❤+ ♥냥덩이♥갤로그로 이동합니다. 03.06 30 0
2826308 와 php배열 또 멋있노 이기 [9] 슈퍼막코더(116.65) 03.06 82 0
2826307 10인미만은 거르는게 맞지? [4] 프갤러(121.190) 03.06 70 0
2826305 청소 팁좀요. 멍유님도 지분 있음 소량 넥도리아(223.38) 03.06 44 0
2826304 어느 1군 걸그룹의 팬 또는 바이럴들이 지표 과대포장 한 사례 ㅇㅇ(39.7) 03.06 34 0
2826303 김상욱 "탄핵 기각 시 대한민국 망해…제2의 시리아처럼 될까 걱정" 발명도둑잡기갤로그로 이동합니다. 03.06 44 0
2826302 아웃도어 브랜드 블랙야크, 고객 개인정보 34만2253건 유출 발명도둑잡기갤로그로 이동합니다. 03.06 31 0
2826301 나님이 가민 안 사주는 이유 ♥냥덩이♥갤로그로 이동합니다. 03.06 28 0
2826300 한컴오피스 2024 설치파일로 위장해 유포 중인 악성코드 발명도둑잡기갤로그로 이동합니다. 03.06 32 0
2826299 나님 주말에 삘 타면 칼럼 좀 써주겠음 ♥냥덩이♥갤로그로 이동합니다. 03.06 34 0
2826298 아스카 플레이리스트 보고가 아스카영원히사랑해갤로그로 이동합니다. 03.06 49 2
2826297 조센징들은 개성이 없다 ♥냥덩이♥갤로그로 이동합니다. 03.06 29 0
2826294 프갤러. 내가 감히 조언 하고 싶은것이 있읍니다. [2] ㅆㅇㅆ(124.216) 03.06 54 0
2826292 gpt땜애 인생 ㅈ된거같다 [1] 프갤러(117.111) 03.06 106 0
2826291 한미 전쟁연습중 민가에 축구장 폭파할수 있는 폭탄 투하 발명도둑잡기갤로그로 이동합니다. 03.06 27 0
2826289 카엔의 자회사 S엔터의 상장에 물린 사람들 ㅇㅇ(110.70) 03.06 30 0
2826286 하위 5%여성도 관계 맺어보고 싶어함 ?? [2] ㅇㅇ(223.38) 03.06 52 0
2826284 ㅍㄺㄻㅅ ㄷㅂㅋㅅ 부캠 후기 [1] 프갤러(182.231) 03.06 90 0
2826280 코딩 좆같다. [2] ㅆㅇㅆ(124.216) 03.06 73 0
2826278 서울 제외 광역시들에서도 IT 구직난이냐 ㅇㅅㅇ? [2] 강유현갤로그로 이동합니다. 03.06 91 0
2826275 체딸 상태룽 겅부하려닝 ㅈㄴ 피궁하넹 ♥냥덩이♥갤로그로 이동합니다. 03.06 31 0
2826273 ai관련 학과 졸업하면 뭐하고 삶? 프갤러(1.228) 03.06 40 0
뉴스 ‘조선의 사랑꾼’ 이경실, 눈치 없는 子 손보승 먹방에 ‘폭발’ 디시트렌드 03.09
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2