제이쿼리 롤링 관련 질문
본문
var leftCt = 0;
$(function(){
$("#imgList").attr("top", "0");
imgStart("R");
});
function imgStart(tp){
clearInterval($("#imgList").attr("timer"));
if(tp == "R"){ // 오른쪽 이동
imgRight();
$("#imgList").attr("timer", setInterval("imgRight()", 4000)); // 멈춰있는 시간
}else{ // 왼쪽이동
if(leftCt == 0){
var leng = $("#imgList div").size();
$("#imgList").css("left",parseInt($("#imgList div").eq(0).width()*-1));
$("#imgList>.rollingImg").eq(parseInt(leng-1)).clone().prependTo($("#imgList"));
$("#imgList>.rollingImg").eq(leng).remove();
leftCt = 1;
}
imgLeft();
$("#imgList").attr("timer", setInterval("imgLeft()", 3000));
}
}
function imgRight(){
$("#imgList").animate({
left : parseInt($("#imgList .rollingImg").eq(0).width() * -1)
},300,function(){
$("#imgList").css("left", "0px");
$("#imgList>.rollingImg").eq(0).clone().appendTo($("#imgList"));
$("#imgList>.rollingImg").eq(0).remove();
});
}
function imgLeft(){
var leng = $("#imgList .rollingImg").size();
$("#imgList").animate({
left : 0
},300,function(){
$("#imgList").css("left", "0px");
$("#imgList").css("left",parseInt($("#imgList .rollingImg").eq(0).width()*-1));
$("#imgList>.rollingImg").eq(parseInt(leng-1)).clone().prependTo($("#imgList"));
$("#imgList>.rollingImg").eq(leng).remove();
});
}
위 제이쿼리 소스이구요
상품이 여러개가 슬라이드되는 형식인데요
< ㅁㅁㅁㅁㅁ >
이런식으로 상품 5개가 있으면 자동으로 롤링이 잘 됩니다.
하지만 5개 이하로 설정해버리면 오른쪽으로는 잘되는데 왼쪽으로는 에러가 생깁니다.
자동으로 롤링이 되는 형식인데
혹시 특정 갯수 이하면 롤링기능이 작동을 안하고
특정 갯수 이상되면 다시 자동 롤링 기능이 되도록 방법이 있을까요?
좋은 하루 되세요!
답변 2
id 값인 imgList 가 롤링되는 엘리먼트 같습니다.
length 등으로 해당 imgList 의 자식 롤링요소 .rollingImg 클래스의 갯수를 확인하시어
imgStart 함수 호출전에 if 문 등으로 롤링갯수를 체크하셔서 롤링을 기존처럼 호출하시거나
호출하지 않거나 하면 될것같습니다.
imgStart("R"); <---시작이 이것 같네요
if ( slidecount > 5 ) imgStart("R");