SmoothState 不触发 $(document).ready()
SmoothState not firing $(document).ready()
我正在构建一个简单的网站,我想使用来自 SmoothState.js, but I also use other jQuery scripts (such as Flexslider) 的漂亮过渡,我已设置为在 $(document).ready()
上触发 -- 现在我的过渡效果很好顺利,其他JS不再射击
我试过将它放在我所有页面的开头(摘自 here):
(function($, undefined) {
var isFired = false;
var oldReady = jQuery.fn.ready;
$(function() {
isFired = true;
$(document).ready();
});
jQuery.fn.ready = function(fn) {
if(fn === undefined) {
$(document).trigger('_is_ready');
return;
}
if(isFired) {
window.setTimeout(fn, 1);
}
$(document).bind('_is_ready', fn);
};
})(jQuery);
但他们仍然没有正常开火。
我错过了什么?
原来我的问题是我在新页面的 header 中加载了新的 JavaScript,但没有被拾取。通过将其移动到一个在每次初始页面加载时加载的中央文件中,一切都很好。
我正在构建一个简单的网站,我想使用来自 SmoothState.js, but I also use other jQuery scripts (such as Flexslider) 的漂亮过渡,我已设置为在 $(document).ready()
上触发 -- 现在我的过渡效果很好顺利,其他JS不再射击
我试过将它放在我所有页面的开头(摘自 here):
(function($, undefined) {
var isFired = false;
var oldReady = jQuery.fn.ready;
$(function() {
isFired = true;
$(document).ready();
});
jQuery.fn.ready = function(fn) {
if(fn === undefined) {
$(document).trigger('_is_ready');
return;
}
if(isFired) {
window.setTimeout(fn, 1);
}
$(document).bind('_is_ready', fn);
};
})(jQuery);
但他们仍然没有正常开火。
我错过了什么?
原来我的问题是我在新页面的 header 中加载了新的 JavaScript,但没有被拾取。通过将其移动到一个在每次初始页面加载时加载的中央文件中,一切都很好。