使用.load()函数

时间:2012-06-19 13:37:52

标签: javascript jquery

我希望使用jQuery的.load().get()函数来替换AJAX,我有这个:

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">似乎很好......

4 个答案:

答案 0 :(得分:3)

您希望将number作为参数传递给load,而不是字符串。

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

此外,我假设您想要在成功回调中更新您的计数器:

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

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

答案 1 :(得分: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(将计数器作为参数传递)然后执行回调函数 - 它会递增计数并检查它是否等于{{1}中的任何内容}。

答案 2 :(得分:0)

我认为你的意思是setInterval,你写的是timeInterval。 你可能想要

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

此文件是否由php解析?因为<? php echo $count1; ?>如果它的.js可能不是。

答案 3 :(得分:-1)

您的语法错误“;”错过了:

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

jQuery默认情况下不显示错误,所以似乎没有任何反应。