0
我遇到了jQuery代碼的問題,我希望得到一些幫助。當下一個和上一個按鈕正常工作時,正確停止幻燈片放映似乎存在問題。這大概是我們完全忽略的東西,但我看不到什麼。需要使用jQuery停止幻燈片顯示的幫助
控制檯中沒有顯示JavaScript錯誤。正在達到中斷方法 - 有一點我有console.log調用在那裏進行驗證(清理出於演示原因)。
你的幫助是非常讚賞。
下面的代碼是上一張/停止未來的功能/啓動/:
if ($(settings.next).size()) {
$(settings.next).bind('click.scrollface', function (e) {
methods.interrupt.call($this);
methods.next.call($this);
});
}
if ($(settings.pause).size()) {
$(settings.pause).bind('click.scrollface', function (e) {
methods.interrupt.call($this);
});
}
if ($(settings.play).size()) {
$(settings.play).bind('click.scrollface', function (e) {
methods.interrupt.call($this);
methods.start.call($this);
});
}
/*
* Setup up prev bindings
*/
if ($(settings.prev).size()) {
$(settings.prev).bind('click.scrollface', function (e) {
methods.interrupt.call($this);
methods.prev.call($this);
});
}
下面是中斷的方法:
interrupt: function (time) {
return $(this).each(function() {
var data = $(this).data('scrollface');
console.log(data);
console.log('...');
if (!data) {
return false;
}
var $this = $(this),
period = 0;
/*
* Stop the timer, and wait a period of time before restarting it.
* Period defaults to the timer interval
*/
if (data.timer) {
if (typeof time !== "number") {
period = data.interval;
} else {
period = time;
}
methods.stop.call(this);
setTimeout(function resume_timer() {
clearInterval(data.timer);
data.timer = null;
methods.start.call($this);
}, period);
}
});
},
你得到一個錯誤?你的問題不清楚哪裏出了問題。 – DLeh 2015-02-06 15:30:34
嗨DLeh,沒有任何錯誤。它實際上是運行中斷方法 - 這是來自jQuery的scrollface庫 - 但未能停止實際的幻燈片。 – 2015-02-06 17:23:31
@WSTeam我懷疑這裏的評論意味着你的問題。在jquery.scrollface.js中*/* *停止計時器,並等待一段時間再重新啓動計時器。 *週期默認爲定時器間隔 * /'請參閱,您注意到它僅在短時間內中斷sildshow。所以暫停和停止不一樣。它真的停了片刻。而是調用'stop' – 2015-02-06 17:42:57