我希望这只发生一次而不是每当第三张幻灯片等于当前幻灯片时。我该怎么做?将.once()用于此吗?
var currentSlide = current - 1;
var firstSlide = $('#slide1').index();
var secondSlide = $('#slide2').index();
var thirdSlide = $('#slide3').index();
if (thirdSlide == currentSlide) {
$('img.joyceAnim').flipbook({
'end': 4,
'loop': false,
'fps': 8,
'mobileStep': 1,
'images': 'anim/bench/%d.png'
});
}
答案 0 :(得分:2)
您可以在元素已设置动画时设置.data()
指示符,然后在再次设置动画之前检查该指标:
var currentSlide = current-1;
var firstSlide = $('#slide1').index();
var secondSlide = $('#slide2').index();
var thirdSlide = $('#slide3').index();
var flip = $('img.joyceAnim');
var alreadyFlipped = flip.data("flipped");
if(thirdSlide == currentSlide && !alreadyFlipped){
flip.data("flipped", true).flipbook({
'end': 4,
'loop': false,
'fps': 8,
'mobileStep': 1,
'images': 'anim/bench/%d.png'
});
}
答案 1 :(得分:0)
var currentSlide = current-1;
var firstSlide = $('#slide1').index();
var secondSlide = $('#slide2').index();
var thirdSlide = $('#slide3').index();
var doIt = true;
if((thirdSlide == currentSlide) && doIt){
doIt = false;
$('img.joyceAnim').flipbook({
'end': 4,
'loop': false,
'fps': 8,
'mobileStep': 1,
'images': 'anim/bench/%d.png'
});
}
只需切换一下,看看你是否应该这样做。