0
我有這種自動更改圖像的工作,但綁定添加,所以它暫停懸停和重置時離開元素,但它繼續滾動,並不會暫停。我是JS和jQuery的新手。jQuery在mouseenter和mouseout上暫停計時器不起作用
JS
var galleryTimer;
var galleryTimeOut = "2500";
var galleryImage = ".productImage";
// auto play function to go through images
function galleryPlay() {
$(galleryImage).each(function(index) {
var self = this
galleryTimer = setTimeout(function() {
$('.productImage').removeClass('active');
$(self).addClass('active');
}, index * galleryTimeOut);
});
}
// pause when hovering main image and zooming image
function galleryPause() {
clearTimeout(galleryTimer);
}
// next function to move to next image
function galleryNext() {
}
// prev function to move back to prevous image
function galleryPrev() {
}
$(galleryImage).mouseenter(function() {
galleryPause();
}).mouseleave(function() {
galleryPlay();
});
$('.galleryNext').on('click', function(event){
});
$('.galleryPrev').on('click', function(event){
});
// auto start the auto play
galleryPlay();
HTML
<ul>
<li class="productImage active">
<a><img src="http://placehold.it/350x350"></a>
</li>
<li class="productImage">
<a><img src="http://placehold.it/350x350"></a>
</li>
<li class="productImage">
<a><img src="http://placehold.it/350x350"></a>
</li>
<li class="productImage">
<a><img src="http://placehold.it/350x350"></a>
</li>
<li class="productImage">
<a><img src="http://placehold.it/350x350"></a>
</li>
</ul>
<a class="galleryNext">next</a>
<a class="galleryPrev">next</a>
因爲您覆蓋galleryTimer在每個迭代上,所以你有多個計時器,但你只有每有最後的計時器取消。 – epascarello
我認爲你的意思是,我真的對js/jquery不熟悉,所以這是我第一次嘗試這樣的事情......你會建議什麼?並感謝您的時間! – James
使用一個計時器,並在每次迭代中顯示下一個兄弟 – epascarello