我正在尝试暂停flexslider的工作。这是我正在使用的代码。
$(window).load(function() {
$('.flexslider').flexslider({
slideshowSpeed: 3000,
animationDuration: 1100,
directionNav: false,
controlNav: true,
pausePlay: true,
pauseText: 'Pause',
playText: 'Play',
});
});
它只显示暂停的元素和文本,但不会影响任何内容。我做错了什么?
编辑:
查看flexslider代码我认为这必须是处理按钮的部分。实际的代码有点过头,但我看不到任何看起来像点击事件处理程序的东西。
//////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
//FlexSlider: Pause/Play
if (slider.vars.pausePlay) {
var pausePlayScaffold = $('<div class="flex-pauseplay"><span></span></div>');
if (slider.containerExists) {
slider.controlsContainer.append(pausePlayScaffold);
slider.pausePlay = $('.flex-pauseplay span', slider.controlsContainer);
} else {
slider.append(pausePlayScaffold);
slider.pausePlay = $('.flex-pauseplay span', slider);
}
var pausePlayState = (slider.vars.slideshow) ? 'pause' : 'play';
slider.pausePlay.addClass(pausePlayState).text((pausePlayState == 'pause') ? slider.vars.pauseText : slider.vars.playText);
slider.pausePlay.bind(slider.eventType, function(event) {
event.preventDefault();
if ($(this).hasClass('pause')) {
slider.pause();
slider.manualPause = true;
} else {
slider.resume();
slider.manualPause = false;
}
});
}
答案 0 :(得分:1)
原来问题出在我的CSS上。我已经移动了 flex-control-nav 有序列表,它似乎一直在阻止点击事件,它必须覆盖 flex-pauseplay div。