我有一个使用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);

09-16 14:07