jQuery:隐藏容器,然后显示该容器中的元素
我想用classjQuery:隐藏容器,然后显示该容器中的元素,jquery,Jquery,我想用classpage\u wrapper隐藏一个容器元素。然后我只想在容器中显示一个id为infinite\u math\u container的元素 我的代码 $('.page_wrapper').hide(); $('#infinite_math_container').show().delay(200); 问题:$('.page_wrapper').hide()工作正常,但是$('infinite#u math_container').show().delay(200)实际上没有显示
page\u wrapper
隐藏一个容器元素。然后我只想在容器中显示一个id为infinite\u math\u container
的元素
我的代码
$('.page_wrapper').hide();
$('#infinite_math_container').show().delay(200);
问题:$('.page_wrapper').hide()
工作正常,但是$('infinite#u math_container').show().delay(200)代码>实际上没有显示
想法?尝试使用允许回调的:
$('.page_wrapper').fadeOut(0, function() {
$('#infinite_math_container').show();
});
您可以在文档中使用hide()作为回调函数,但这只是一个首选项
$('.page_wrapper').hide(0, function() {
$('#infinite_math_container').show();
});
另一种方法是使用函数:
$('.page_wrapper').hide();
setTimeout(function(){
$('#infinite_math_container').show();
}, 2000);
就像“ŁukaszTrzewik”说的那样。如果某个元素的父元素是隐藏的,则对其调用show()
不会产生任何效果
要解决此问题,您可以执行以下操作:
$(".page_wrapper").children().not("#infinite_math_container").hide();
这将隐藏.page_wrapper
的所有子元素,但\infinite_math_container
除外
或:
它将隐藏.page_wrapper
的所有子元素,并在延迟200
毫秒后显示子\infinite_math_container
只有当#infinite_math_container
元素是.page\u wrapper
的直接后代时,这两个示例才有效,因为它没有显示您在它的包装上调用hide的原因,这意味着在它的内部显示/隐藏什么并不重要,因为顶部包装是隐藏的。这里有一个类似的问题:正如@ukaszTrzewik所说,主包装是隐藏的。因此,无法显示孩子。你有什么理由想隐藏页面包装器
?@OumarDiarra:这里的目标是将无限的数学容器
显示为页面上唯一的东西。正如@ukaszTrzewik所说,你正在隐藏容器。试图显示容器的子容器将无法工作,因为容器仍处于隐藏状态。而且,delay()
会延迟接下来发生的事情。你应该把它放在.show()
前面,我建议你在page\u wrapper
中除了infinite\u math\u container
之外的其他元素上添加一个div容器,然后你可以隐藏这些元素,只显示infinite\u math\u container
谢谢你的尝试,但是没有一个真正展示了我想要展示的元素。所有这些都隐藏了较大的容器。根据上面的评论,我们完全同意如果#infinite_math_容器是.page_包装类的子容器,它将不会按原样显示。
$(".page_wrapper").children().hide().find("#infinite_math_container").delay(200).show();