2012-12-28 81 views
1

嗯,我正在開發一個帶phonegap的應用程序,我正在使用媒體查詢來識別手機和平板電腦的不同分辨率。我的意見是不同的,如果它是手機或平板電腦,當設備是手機,我想顯示在一個不同的頁面,用導航欄加載高圖表圖表,當我在平板電腦我想圖表出現在第一頁。在不同頁面的div上加載Highcharts問題

我不知道什麼是最好的方式來做到這一點,並獲得最佳性能。 圖表我真的使用在例如通過Highcharts給它:

function graph(){ 
$(function() { 
    $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function(data) { 
     // Create the chart 
     window.chart = new Highcharts.StockChart({ 
      chart : { 
       renderTo : 'container' 
      }, 
      rangeSelector : { 
       selected : 1 
      }, 
      title : { 
       text : 'AAPL Stock Price' 
      }, 
      series : [{ 
       name : 'AAPL', 
       data : data, 
       tooltip: { 
        valueDecimals: 2 
       } 
      }] 
     }); 
     }); 
    }); 
} 

我想,要在一個div加載圖表中的第一頁稱爲container(如果它是片劑),或在被加載一個具有相同名稱的div,但在其他頁面(如果它是智能手機)。

其實該圖表只適用於第一頁中的平板電腦,而不是第二頁中的平板電腦,如果是更好的方式,我不想調用該功能2次。 希望你能幫助我。 此致敬禮。

回答

1

不知道如何改變平板電腦和手機頁面的html。即使你沒有顯示,檢查你是否有兩個網頁的HTML。這可能是這個問題。

但是,您可以做的是更改手機頁面和平板電腦頁面的兩個容器名稱(例如,containerCellPhone,containerTablet)。並且在檢測設備類型運行後,renderTo的高位代碼相應改變。

希望我已經正確理解你的問題。

+0

我對這兩種設備只使用一個html,唯一改變的就是它正確顯示的css。我真的不知道如何識別設備並將de「renderTo」更改爲正確的設備。 –

+0

在更改css之前,您可能正在檢查設備類型。所以,你可以做的是創建一個函數'圖形(divToRender)',並運行與傳遞正確的div名稱,當你找到設備類型來改變CSS。您可以在圖表的定義中使用該參數作爲'renderTo'屬性。 –