본문 바로가기

스파르타코딩개발일지

TIL

js로 슬라이드 롤링하는 코드

var index = 0;   //이미지에 접근하는 인덱스
var banner_left = 0;
var img_cnt = 0;
var first=1;
var last;
var interval;
window.onload = function(){
    slideShow();
    rolling();
}

function slideShow() {
var i;
var x = document.getElementsByClassName("slide1");  //slide1에 대한 dom 참조
for (i = 0; i < x.length; i++) {
   x[i].style.display = "none";   //처음에 전부 display를 none으로 한다.
}
index++;
if (index > x.length) {
    index = 1;  //인덱스가 초과되면 1로 변경
}  
x[index-1].style.display = "block";  //해당 인덱스는 block으로
setTimeout(slideShow, 3000);   //함수를 4초마다 호출



}
function rolling() {
$(".rolling_wrap a").each(function() {
  $(this).css("left", banner_left);
  banner_left += $(this).width()+5;
  $(this).attr("id", "content"+(++img_cnt));
});

last = img_cnt;
startAction();

$(".content").hover(
  function() { stopAction(); },
  function() { startAction(); });
};

function startAction() {
interval = setInterval(function() {
  $(".rolling_wrap a").each(function() {
    $(this).css("left", $(this).position().left-1);
  });

  var first_content = $("#content"+first);
  var last_content = $("#content"+last);

  if(first_content.position().left < "-"+$(first_content).width()) {
    first_content.css("left", last_content.position().left+last_content.width()+5);
    first++;
    last++;
    if(last > img_cnt) { last = 1;}
    if(first > img_cnt) {first = 1;}
  }
}, 15);
}

function stopAction() {
clearInterval(interval);
  console.log("a")
}


슬라이드.
 

 

var banner_left = 0;
var img_cnt = 0;
var first=1;
var last;
var interval;

window.onload = function(){
    rolling();
}
function rolling() {
    $(".rolling_wrap a").each(function() {
        $(this).css("left", banner_left);
        banner_left += $(this).width()+5;
        $(this).attr("id", "content"+(++img_cnt));
    });

    last = img_cnt;
    startAction();

    $(".content").hover(
        function() { stopAction(); },
        function() { startAction(); });
};

function startAction() {
    interval = setInterval(function() {
        $(".rolling_wrap a").each(function() {
            $(this).css("left", $(this).position().left-2);
        });

        var first_content = $("#content"+first);
        var last_content = $("#content"+last);

        if(first_content.position().left < "-"+$(first_content).width()) {
            first_content.css("left", last_content.position().left+last_content.width()+5);
            first++;
            last++;
            if(last > img_cnt) { last = 1;}
            if(first > img_cnt) {first = 1;}
        }
    }, 15);
}

function stopAction() {
    clearInterval(interval);
}

롤링

'스파르타코딩개발일지' 카테고리의 다른 글

TIL  (0) 2022.12.13
TIL  (0) 2022.12.11
TIL  (0) 2022.12.08
TIL  (0) 2022.12.08
브랜치|MERGING 해결방법  (0) 2022.12.06