Javascript 如果单击时所有div都向上滑动,则显示消息 您已删除所有项目 数据1关闭 数据2 数据3 $('.close')。单击(函数(){ $(this).closest('.col-sm-4').slideUp(); });
我想在用户逐个隐藏所有Javascript 如果单击时所有div都向上滑动,则显示消息 您已删除所有项目 数据1关闭 数据2 数据3 $('.close')。单击(函数(){ $(this).closest('.col-sm-4').slideUp(); });,javascript,jquery,Javascript,Jquery,我想在用户逐个隐藏所有.col-sm-4时显示.showmessage。 此外,它应该在最后一个项目的滑动动画完成后显示。检查的计数。col-sm-4为零时,使用 你的意思是: 您可以使用$('.close:visible')。length==0检查是否仍有任何项目处于打开状态。此外,您似乎忘记添加其他关闭按钮 $('.close')。单击(函数(){ $(this).closest('.col-sm-4').slideUp(function(){ 如果($('.close:visible')
.col-sm-4
时显示.showmessage
。
此外,它应该在最后一个项目的滑动动画完成后显示。检查
的计数。col-sm-4
为零时,使用
你的意思是:
您可以使用$('.close:visible')。length==0
检查是否仍有任何项目处于打开状态。此外,您似乎忘记添加其他关闭按钮
$('.close')。单击(函数(){
$(this).closest('.col-sm-4').slideUp(function(){
如果($('.close:visible')。长度===0){
$('.showmessage').show();
}
});
});代码>
您已删除所有项目
数据1关闭
数据2关闭
数据3关闭
您能生成JSFIDLE吗?该消息应该仅在所有其他div关闭时显示。此外,您可能希望将if语句放入slideUp()
的回调中,以便它仅在最后一项的滑动动画完成后运行。True,谢谢Nicolas McCurdy你让我的梦想成真了:p:)thanksI不会用类“showmessage”显示整个DOM中的所有元素,因为你永远不知道其他地方是否会有其他元素:)@Ferret你是对的,但我使用的代码与Nicolas McCurdy相同。。你的解决方案也很好,我将来肯定也会使用
<div class="row">
<div class="showmessage" style="display:none">you have removed all items</div>
<div class=" col-sm-4"> data 1 <span class="close">close</span> </div>
<div class=" col-sm-4"> data 2 </div>
<div class=" col-sm-4"> data 3 </div>
</div>
<script>
$('.close').click(function(){
$(this).closest('.col-sm-4').slideUp();
});
</script>
$('.close').click(function(){
$(this).closest('.col-sm-4').slideUp();
if (!$('.col-sm-4').length) {
$('.showmessage').show();
}
});
$('.close').click(function(){
var $parent = $(this).parent();
$parent.slideUp('fast', function () {
if(!$(this).siblings('.col-sm-4').is(':visible')) {
$(this).siblings('.showmessage').show();
} else {
$(this).siblings('.showmessage').hide();
}
});
});