1
後並不總是運行該代碼似乎完美地工作:當我當我添加的延遲和排隊一個函數的代碼變得喜怒無常,有時那類是jQuery的延遲和排隊window.onhashchange
window.onhashchange = function(){
if (!window.location.href.match('#pop')) {
//alert('go back last');
$('#main').removeClass('hidden');
$('.pop').removeClass('pop-ready');
$('.pop').addClass('pop-hidden');
}
/* navigate back after back button */
if (!window.location.href.match('#secondpage')) {
$('#pageCont').removeClass('posTwo');
$('#pageOne').removeClass('hidden');
$('#pageTwoInner').addClass('hidden');
}
if (window.location.href.match('#secondpage')) {
$('#pageCont').addClass('posTwo');
$('#pageTwoInner').removeClass('hidden');
}
};
然而不添加:
window.onhashchange = function(){
if (!window.location.href.match('#pop')) {
//alert('go back last');
$('#main').removeClass('hidden');
$('.pop').removeClass('pop-ready');
$('.pop').addClass('pop-hidden');
}
/* navigate back after back button */
if (!window.location.href.match('#secondpage')) {
$('#pageCont').removeClass('posTwo');
$('#pageOne').removeClass('hidden');
/* CHANGE HERE */
$('#pageTwoInner').delay(200).queue(function(){
$(this).addClass('hidden');
});
}
if (window.location.href.match('#secondpage')) {
$('#pageCont').addClass('posTwo');
$('#pageTwoInner').removeClass('hidden');
}
};
你的答案在技術上是有效的,但它似乎並沒有解釋爲什麼_currently_排隊功能ISN不會運行 - 這隻能解釋爲什麼_subsequent_ queued事件不運行。 – Alnitak
@Alnitak,我想這正是這裏發生的事情,這就是爲什麼提問者說'代碼變得脾氣暴躁,有時候這個類沒有被添加。 –
如果沒有添加類,則表示_this_函數未被排隊,而不是後面的函數未被排隊。 – Alnitak