我已經設置了一個swiper滑塊,並希望在函數到達特定幻燈片時啓動該函數。這是我到目前爲止已經完成,但它不工作:jQuery在元素類發生變化時執行函數
// event listener
function addClassNameListener(elemId, callback) {
var elem = $(".swiper-home .swiper-slide:nth-child(2)");
var activeClassName = 'swiper-slide-active';
window.setInterval(function() {
var className = elem.className;
if (className == activeClassName) {
callback();
}
},10);
}
addClassNameListener("foo", function(){
$('.swiper-slide-active .count').each(function() {
//$('body').scrollTop($(this).parent.offset().top);
$(this).prop('Counter', 0).animate({
Counter: $(this).data().total
}, {
duration: $(this).data().seconds * 1000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
alert("changed");
});
我已經設置了jsFiddle
你'elem'變量是一個jQuery對象,所以它沒有一個'.className'財產 - 你可以在測試改爲'如果(elem.hasClass( activeClassName))',從而解決這個問題*和*允許具有多個類的元素。你的'addClassNameListener()'函數也不使用它的'elemId'參數。 – nnnnnn
嗨@nnnnnn,謝謝你,但我剛剛嘗試過,它仍然無法正常工作。 – babusi