开发者

JQuery mobile and highcharts integration

Has anyone managed to integrate highcharts with jquerymobile properly?

If i request a page containing some chart directly (i.e. http://开发者_JAVA百科mysite.com/mobile/page.html) the charts will initialize and render as expected. Instead, if i try to navigate to the same page using the anchor links, the page renders but the charts don't. I am using the "pageshow" event to initialize the charts.

Any feedback will be largely appreciated!


I had this same problem when I first started coding with jQuery Mobile... You have to bind your scripts on pagecreate, ie:

$(document).delegate("#page-id", "pagecreate", function() {
    // highcharts, etc.
}


With jQuery mobile you need to put your page specific scripts and styles inside the page-content div. See "Known Limitations" in documentation.


I have tried what Tsar mentioned and for me it worked. What I did was:

Added the script within the head tag, and added the div with the ID(rederTo) used in the script within the "page-content".

<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Acura</title>
<link href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script>
<script src="libs/hightcharts/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>

    <script type="text/javascript">
        var chart1; // globally available
$(document).ready(function() {
      chart1 = new Highcharts.Chart({
         chart: {
            renderTo: 'container',
            type: 'bar'
         },
         title: {
            text: 'Fruit Consumption'
         },
         xAxis: {
            categories: ['Apples', 'Bananas', 'Oranges']
         },
         yAxis: {
            title: {
               text: 'Fruit eaten'
            }
         },
         series: [{
            name: 'Jane',
            data: [1, 0, 4]
         }, {
            name: 'John',
            data: [5, 7, 3]
         }]
      });
   });
    </script>
</head>

<body>

<div id="ge" data-role="page">
    <div data-role="header">
        //header
    </div>
    <div data-role="content">
        <div id="container"></div>
    </div>
</div>
</body>
</html>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜