javascript - 对全局变量不更新感到困惑

标签 javascript jquery

我有以下代码:

var clickCount = 1;
var slideCount = $('div.slide').length;

$('a#next-button').click(function() {
    if(clickCount < slideCount) {
        $('div.slide').animate({"left":"-=" + slideWidth}, 'slow');
        clickCount = clickCount + 1;
    }
});

$('p').text(clickCount); 

它有一个名为 clickCount 的全局变量.

$('a#next-button').click(function() { …每次 <a> 时,以 1 为增量更新全局变量元素被点击。

所以,我的问题是,为什么:$('p').text(clickCount);<a> 期间不向我显示页面上更新的 clickCount标签被点击。相反,它只显示 1(原始分配值)。

最佳答案

变量正在更新,但您的函数 ($('p').text(clickCount);) 仅运行一次,因此仅使用它看到的值。

要解决此问题,请将 $('p').text(clickCount); 放在 click 函数中。

$('a#next-button').click(function() {
  if(clickCount < slideCount) {
     $('div.slide').animate({"left":"-=" + slideWidth}, 'slow');
     clickCount = clickCount + 1;
     $('p').text(clickCount); 
  }
});

关于javascript - 对全局变量不更新感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983608/

相关文章:

jquery - 如何在 bootstrap 工具提示 CSS/Jquery 中提到的文本中使单词变为粗体

javascript - 使用 jquery 帮助替换字符串

javascript - DvaJS - 将保存的状态从 localStorage 加载到状态中

javascript - 如何在 React 组件中使用解构

javascript - 等待所有 jQuery ajax 调用完成(完成或拒绝)

JavaScript。如何获取页面上的链接并重定向它?

php - 我使用时未定义 jquery

javascript - 当网站顶部为 "stick"时,如何将页脚 "near"置于底部?

javascript - 使用 jQuery 操作 DOM 时代码不同步?

javascript - 如何使用从日期到离开日期计算经验