2012-06-19 77 views
1

我期待使用jQuery的​​或.get()功能,足以取代AJAX,我有這樣的:使用.load()函數

var counter = 0; 
timeInterval(changeStock(counter), 2000); 

function changeStock(number) { 
    $(document).ready(function() { 
    $('#stocks').load('/stock.php?symbol=number') 
    counter++; 
    if (counter == <? php echo $count1; ?>) { 
     counter = 0; 
    } 
    } 

但沒有快到了。有任何想法嗎??我的<div id="stocks">看起來很好..

+3

你到底想要發生什麼? – fcalderan

+0

@ f-calderan它是一個股票的想法。它應該根據參數從stock.php獲取數據,然後顯示它。然後兩秒鐘後,它應該更改爲stock.php中數組中的下一個股票。 stock.php工作正常 – Niall

+1

什麼是'timeInterval'? – Neal

回答

2

有一些不正確行腳本:

timeInterval(changeStock(counter), 2000); 

也許應該setInterval()

$('#stocks').load('/stock.php?symbol=number') 

應該是$('#stocks').load('/stock.php?symbol='+number)

$(document).ready(function() {})在一個函數內?!?!?!

嘗試這種情況:

$(document).ready(function() { 
    var counter = 0; 
    setInterval(function() { 
    $('#stocks').load('/stock.php?symbol=' + counter, function() { 
     counter++; 
     if (counter == <? php echo $count1; ?>) { 
     counter = 0; 
     } 
    }); 
    }, 2000); 
}); 

這將執行內部函數每2000毫秒 - 功能將加載URL(通過計數器作爲一個參數),然後執行回調函數 - 其中遞增計數和檢查它是否等於$count1中的任何內容。

3

你想通過number作爲參數load,而不是一個字符串。

$('#stocks').load('/stock.php?symbol=' + number); 

而且,我認爲你需要更新你的成功回調計數器:

$('#stocks').load('/stock.php?symbol=' + number, function() { 
    counter++; 

    if (counter == <? php echo $count1; ?>) { 
     counter = 0; 
    } 
}); 
+0

它不是這個,因爲如果是這樣的話,stock.php會迴應無效的股票代碼。但這是我接受的一個錯誤,但不是真正的錯誤 – Niall

-1

您有語法錯誤「;」是錯過的:

$('#stocks').load('/stock.php?symbol=number') 

jQuery默認情況下不顯示錯誤,所以它似乎沒有任何反應。

+1

這完全不相關,也是錯誤的。 –

+0

';'在JavaScript中不是必需的 – ManseUK

0

我想你的意思是setInterval你寫的地方是timeInterval。 而你可能想要

$('#stocks').load('/stock.php?symbol=' + number); 

也是這個文件是由php解析?因爲<? php echo $count1; ?>如果它的.js它可能不是。