2013-10-04 36 views
1

我有一個頁面(Page1.aspx,Page2.aspx,Page3.aspx)列表,由jquery.flot被繪製。 我想在另一個頁面(Default.aspx)內依次顯示頁面。jquery.flot - 在定時器加載圖表

爲此,我在計時器上調用jquery load()方法。 圖片:filelist

只要頁面列表結束,在第一頁被再次調用(Page1.aspx)後,圖形看起來很糟糕。

圖片:Top - first call Page1.aspx, Bottom - second call Page1.aspx

var filelist = ["Page1.aspx","Page2.aspx","Page3.aspx"]; 
var fileIndex = 0; 
function LoadFile() { 
    if (fileIndex > filelist.length - 1) { 
     fileIndex = 0; 
    } 

    $('#content').load("/Pages/" + filelist[fileIndex], ContentLoaded).show(); 
    fileIndex++; 
} 

$(document).ready(function() { 
    var chengeFileTimer = $.timer(10000, LoadFile, false); 
    LoadFile(); 
}); 

我嘗試了好幾種類型的圖表 - 的局面不會改變。

對不起,我的英文。

+0

'ContentLoaded'代表什麼? – Raidri

+0

'ContentLoaded'僅檢查加載頁面中的錯誤。 – ABSENT

回答

2

它看起來像你第二次加載Page1(這是第4頁),你會得到Page1的值的4倍,但其中大部分是不可見的。
您是否重複使用數據或圖表的變量?如果您清除所有數據併爲每個頁面加載做一個新的陰謀,問題應該消失。

+0

我重用了可變數據,但在每個$('#content')。load()清除它之前'data = {'charts':[],'ticks':[]};'在每一頁上創建一個新的'$。 Plot()' 我不會問這個問題,只要重新加載站點(window.location.reload())儘快結束列表,但類似的問題發生時,有兩個非常類似的頁面(圖形類型,連接組件和使用的選擇器)。 – ABSENT

+0

flot中沒有'charts'屬性。你可以發佈你的完整代碼(也許作爲[小提琴](http://jsfiddle.net)),所以我們可以看看它嗎? – Raidri

+0

我想我明白了。 它沒有正確連接到加載的頁面組件** jquery.flot **當這些組件再次連接時 - 出現這樣的錯誤。謝謝! – ABSENT