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