如何在OnsliderAfter上清除Bxslider中的超时
How to clear the Timeout in Bxslider on OnsliderAfter
我有一个bxslider和Onslide之后
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
setTimeout(function() {
jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
}, 150);
setTimeout(function() {
jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
}, 250);
}
因此,我保持动画发生的顺序,并且它仅在滑块第一次加载时对滑块加载起作用。 Onslideafter 它不能正常工作,我认为原因可能是时间没有清除。那么我如何在每次 OnSlideAfter 时清除此超时,以便动画将以正确的顺序依次发生?
您需要先声明一个全局变量,然后给它赋值setTimeout。
var myTimeout1;
var myTimeout2;
// Code
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
myTimeout1 = setTimeout(function() {
jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
}, 150);
myTimeout2 = setTimeout(function() {
jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
}, 250);
}
要清除超时,你必须使用这个:
clearTimeout(myTimeout1);
clearTimeout(myTimeout2);
我有一个bxslider和Onslide之后
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
setTimeout(function() {
jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
}, 150);
setTimeout(function() {
jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
}, 250);
}
因此,我保持动画发生的顺序,并且它仅在滑块第一次加载时对滑块加载起作用。 Onslideafter 它不能正常工作,我认为原因可能是时间没有清除。那么我如何在每次 OnSlideAfter 时清除此超时,以便动画将以正确的顺序依次发生?
您需要先声明一个全局变量,然后给它赋值setTimeout。
var myTimeout1;
var myTimeout2;
// Code
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
myTimeout1 = setTimeout(function() {
jQuery(".active-slide img.drawing_layer_one").animate({ opacity: 1}, 500);
}, 150);
myTimeout2 = setTimeout(function() {
jQuery(".active-slide img.drawing_layer_two").animate({ opacity: 1}, 600);
}, 250);
}
要清除超时,你必须使用这个:
clearTimeout(myTimeout1);
clearTimeout(myTimeout2);