我想让一个div在按钮点击时变得可见,并有一个setInterval附加句点来显示加载。我也想要一个按钮来清除该间隔,并隐藏显示的div。
这是一个小提琴http://jsfiddle.net/4qx4r/4/
代码如下:
function ProgressBar(){
var div;
var start = function(){
var count = 0,
div = $('#divNotification').show().text('Uploading').css('align','center'),
originalText = div.text(),
count = 0;
var beginCount = setInterval(function(){
var newText = div.text() + '.';
div.text(newText);
count++;
if(count > 5){
div.text(originalText);
count =0;
}
console.log(count);
},500)
}
var stop = function(){
console.log('stop');
div.hide();
window.clearInterval(beginCount);
}
this.start = start;
this.stop = stop;
}
var progressBar = new ProgressBar();
$('#btnStart').click(function(){
progressBar.start();
});
$('#btnStop').click(function(){
progressBar.stop();
});当前,当我点击btnStop时,我得到‘`cannot property hide of undefined’。我怎样才能停止间隔并隐藏div呢?
发布于 2014-07-11 05:09:43
您将在函数中设置var beginCount,因此该变量只能在该函数中访问。
尝试在外部声明该变量,或者干脆删除var部件。
我会将其添加到var div声明的旁边
此外,您还需要用分号替换逗号,并且您的div未设置为该对象,请尝试以下操作:
var count = 0;
div = $('#divNotification');
div.show().text('Uploading').css('align','center');
originalText = div.text();
count = 0;http://jsfiddle.net/4qx4r/6/
发布于 2014-07-11 05:15:53
这是可行的:http://jsfiddle.net/W8ySn/3/
我分隔了初始的div赋值:
div = $('#divNotification');
var count = 0;
div.show().text('Uploading editor').css('align','center');
originalText = div.text();
count = 0;https://stackoverflow.com/questions/24686288
复制相似问题