我有一个使用Google Charts的网站,最近我添加了平滑的页面过渡效果,使导航更加有趣,但是由于这些平滑的更改,setOnLoadCallback
无法触发,因此未绘制我的图表。
此行从不触发:google.setOnLoadCallback(drawChart);
有没有办法手动跳闸以绘制图表?
您可以在此处查看该网站:
http://www.gta-bawsaq-billionaire.com/
如果导航到股票页面,则不会显示任何图表,但是如果刷新,它将显示。
例如,通过单击PS3,然后单击Betta Pharmacuticals,导航到http://www.gta-bawsaq-billionaire.com/stock/ps3/BET。没有图表会出现。但是,单击上面的链接(或在页面上按F5键),该图表将出现。
最佳答案
我通过更改以下违规行来解决了该问题:google.setOnLoadCallback(drawChart);
至$(document).ready(drawChart);
然后使用这段代码手动触发$(document).ready()
(取自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);