【问题标题】:JavaScript Incremented Variable Not Read In ConditionalJavaScript 增量变量未按条件读取
【发布时间】:2014-04-26 11:01:01
【问题描述】:

我正在编写一个简单的小 JavaScript,基本上每次单击按钮时都会附加一个元素。我还想限制通过计数器和条件语句附加元素的次数。

The Fiddle

代码:

HTML

<p id="moreUpload">click me</p>
<div id="file-uploads"></div>

JavaScript

var div = "<div class='fileupload fileupload-new' data-provides='fileupload'><span class='btn btn-file'><span class='fileupload-new'>Select file</span><span class='fileupload-exists'>Change</span><input type='file' name='file[]' /></span><span class='fileupload-preview'></span><a href='#' class='close fileupload-exists' data-dismiss='fileupload' style='float: none;'>x</a></div>";
var count = 1;

if (count < 6) {
    $("#moreUpload").click(function () {
        $(div).hide().appendTo("#file-uploads").fadeIn(500);
        alert(count);
        count++;
    });
}

基本上,JavaScript 将允许无限追加,我认为增量不起作用。但是,警报会显示我希望看到的数字。我做错了什么?

【问题讨论】:

    标签: javascript jquery if-statement increment


    【解决方案1】:

    尝试将您的条件移动到点击函数内,因为在点击函数之外,当您点击按钮时它什么也不做,它只在点击事件代码内运行:

    $("#moreUpload").click(function () {
        if (count < 6) {
            $(div).hide().appendTo("#file-uploads").fadeIn(500);
            alert(count);
            count++;
    
        }
    });
    

    Here is demo

    【讨论】:

      【解决方案2】:
      $("#moreUpload").click(function () {
          if (count < 6) {
              console.log(count);
              $(div).hide().appendTo("#file-uploads").fadeIn(500);
              alert(count);
              count++;
          }
      });
      

      DEMO

      每次更改计数变量时。但它在全局独家新闻中。

      【讨论】:

        猜你喜欢
        • 2019-08-02
        • 2012-05-21
        • 1970-01-01
        • 2022-12-05
        • 2021-01-23
        • 1970-01-01
        • 2021-12-30
        • 1970-01-01
        • 2023-03-04
        相关资源
        最近更新 更多