我正在编写一个简单的小JavaScript,并且每次单击一个按钮时基本上会附加一个元素。我还想限制通过计数器和条件语句追加元素的次数。
守则:
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将允许无限追加,我假设增量不起作用。然而,警报会调出我期望看到的数字。我做错了什么?
答案 0 :(得分:1)
尝试在click函数中移动你的条件,因为在click函数之外,当你单击按钮时它什么都不做,它只在click事件代码中运行:
$("#moreUpload").click(function () {
if (count < 6) {
$(div).hide().appendTo("#file-uploads").fadeIn(500);
alert(count);
count++;
}
});
答案 1 :(得分:1)
$("#moreUpload").click(function () {
if (count < 6) {
console.log(count);
$(div).hide().appendTo("#file-uploads").fadeIn(500);
alert(count);
count++;
}
});
每次你改变计数变量。但它是在全球范围内。