2016-07-16 5 views
1

마우스를 올리면 이미지 슬라이더가 일시 중지됩니다. 이 내 코드는jQuery : 마우스 오버시 슬라이딩 이미지 일시 중지

$(".col-md-8").hover(function() { 
       clearTimeout(timer); 
      }); 

그것은 나에게 올바른 보이지만 뭔가 잘못 간다. 문제가 무엇인가요? 미리 감사드립니다.

Link to my project in Codepen

+0

나는 당신의 도움을 주셔서 감사합니다 http://stackoverflow.com/questions/38334119/autorunning-css-change/ – guest271314

답변

1

체크 아웃이 Pen

var nextimage = 0; 
var timer = 0; 
doSlideshow(); 

function doSlideshow() { 
    if (nextimage >= images.length) { 
    nextimage = 0; 
    } 
    $('.col-md-8').css('background-image', 'url("' + images[nextimage++] + '")').fadeIn(3000, function() { 
    timer = setTimeout(doSlideshow, 3000); 
    }); 
} 
$(".col-md-8").hover(function() { 
    clearTimeout(timer); 
}); 

$(".col-md-8").mouseout(function() { 
    setTimeout(doSlideshow, 3000); 
}); 

var elems = document.getElementsByClassName("col-md-8"); 
for (var i = 0; i < elems.length; i++) { 
elems[i].style.backgroundRepeat = "no-repeat"; 
elems[i].style.backgroundSize = "100%"; 
} 
+0

를 참조하십시오. BTW 왜 타이머를 만들고 0으로 할당 했습니까? – NZMAI

+0

할당 된 타이머 = setTimeout (doSlideshow, 3000); 항상 1을 반환합니다. 0으로 설정하면 타이머 값이 정확하게 반환됩니다. 그런 다음 타이머를 지울 수 있습니다. – cheralathan

관련 문제