为什么这个变量不会更新?

时间:2010-08-30 16:27:12

标签: javascript jquery variables

在document.ready()中我有:

$('#menu_indicator').append('<p>' + currPage + ' / ' + pageLimit + '</p>');

pageLimit始终是一个在整个代码中不会更改的数字。 我有它,以便当用户单击按钮时,它将currPage更改为其他数字。 (这部分不在document.ready();)

为什么不在指标中更新它? 有什么想法来解决它吗?

由于

2 个答案:

答案 0 :(得分:2)

您的代码无法正常工作的原因是您只需将其附加一次,它不附加“实时”处理程序或类似的内容。

如果您希望每次为currPage设置新值时更改指标,我会构建一个如下函数:

function setCurrentPage(page) {
    currPage = page;

    $("#menu_indicator p").html(currPage + " / " + pageLimit);
}

这当然是假设currPage和pageLimit在全局范围内声明

答案 1 :(得分:2)

以下代码演示: http://jsbin.com/oruqa3

HTML

<input type="button" value="click" />
<div id="menu"></div>

JavaScript

var currPage = 1, pageLimit = 20;
 $(function() {
  $('input[type=button]').click(function() {
   if(currPage <=pageLimit) {
    call();
    currPage++;
   } 
  }); 
 });


 var call = function() {
   $('#menu').html('<p>' + currPage + ' / ' + pageLimit + '</p>');
  }