잿꽃's posting Garden

자바스크립트로 좌우 슬라이드 만들기 본문

WEB/JAVASCRIPT

자바스크립트로 좌우 슬라이드 만들기

잿꽃 2022. 5. 20. 22:58

자바스크립트 또는 제이쿼리를 이용하여 간단한 좌우 슬라이드를 만드는 두가지 방법에 대해 작성한다.

 

1. 자바스크립트로 좌우 슬라이드 만들기

See the Pen js slide left-right by ssoa1111 (@ssoa1111) on CodePen.

 

처음에 이렇게 작성했는데 안되었음.

slideImg.style.marginLeft -= slideImgWidth[num].offsetWidth + 'px';

이 부분에서 slideImgWidth[num].offsetWidth가 number속성이고 'px'가 string속성이어서 더하기가 제대로 먹히지 않는게 문제...  offsetWidth를 변수에 담아 숫자 계산을 마친 뒤 그 후에 'px'을 붙이는 걸로 해결

slideImg.style.marginLeft = 0;
setInterval(()=>{
    if(num > slideImgWidth.length-1){
        num = 0;
        slideImg.style.marginLeft = 0;
    }else{
        slideImg.style.marginLeft -= slideImgWidth[num].offsetWidth + 'px';
    }
    console.log(slideImg.style.marginLeft);
    num++;
},5000)

 

 

 

 

2. 제이쿼리로 좌우 슬라이드 만들기

저번과 마찬가지로 제이쿼리 CDN을 HTML에 첨부하고 js파일에 작성하면 된다.

제이쿼리의 슬라이드가 자연스럽게 넘어가는 효과를 위해 맨 첫번째 이미지를 복사하여 맨 마지막에 붙여 넣는다.

$(function(){
    let num = 1;
    // 첫번째 이미지 복사
    let img = $('#slide ul li:first').clone();
    // 이미지 덩어리 맨 마지막에 붙여넣기
    img.appendTo($('#slide ul'));

	// 3초마다 반복
    setInterval(function(){
        if(num > 3){
            num = 1;
            $('#slide ul').css('margin-left',0)
        }
        num++;
        $('#slide ul').animate({marginLeft : '-=1200px'},600);
    },3000);
})

 

728x90
Comments