Javascript 使用slideUp AngularJs和引导重新显示警报
我的设想是: 我有一个文件上传程序,用户只能选择一些预定义的格式。问题是,如果用户选择了一个禁止的扩展名,我想显示一个警报,表明他选择了一个无效的文件。问题是,在我调用slideUp并尝试再次显示警报后,它永远不会显示 我的js:Javascript 使用slideUp AngularJs和引导重新显示警报,javascript,jquery,twitter-bootstrap,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap,Twitter Bootstrap 3,我的设想是: 我有一个文件上传程序,用户只能选择一些预定义的格式。问题是,如果用户选择了一个禁止的扩展名,我想显示一个警报,表明他选择了一个无效的文件。问题是,在我调用slideUp并尝试再次显示警报后,它永远不会显示 我的js: $('#testBtn').click(function(){ $(".alert").show(); window.setTimeout(function() { $(".alert").fadeTo(1500, 0).slideUp(500, func
$('#testBtn').click(function(){
$(".alert").show();
window.setTimeout(function() {
$(".alert").fadeTo(1500, 0).slideUp(500, function(){
});
}, 5000);
});
当然,我不是通过按钮触发事件,而是通过上传程序本身上的“错误扩展”事件触发事件
我使用的是bootstrap、AngularJS和Jquery。下面是一个模拟问题的小提琴:
提前谢谢 您需要将
.alert
元素的不透明度从0
重置为1
,因为它是由fadeTo
设置的:
$(".alert").fadeTo(1500, 0).slideUp(500, function(){
$(this).css({'opacity': 1});
});
关键在于您使用的方法: 显示->设置
display:block
隐藏->设置显示:无
fadeTo->setopacity:0
现在,单击一次后,在.alert
上有显示:无
和不透明度:0
,两者都隐藏了警报元素。再次单击时,display:block
通过show()设置,但opacity:0
仍隐藏元素。一个可能的快速解决方案是在单击后设置不透明度:
$('#testBtn').click(function(){
$(".alert").css('opacity', '1');
$(".alert").show();
window.setTimeout(function() {
$(".alert").fadeTo(1500, 0).slideUp(500, function(){
});
}, 5000);
});
最好的
马克