如何在屏幕上显示另一个div时隐藏div。

时间:2013-07-17 18:35:40

标签: javascript jquery html css

我有一个默认显示的helpSection。当用户搜索结果时,页面将重新加载,searchResults应显示在帮助部分所在的位置,帮助部分设置为display:none。

我想有一些jQuery搜索页面并确定helpSection是否在屏幕上。如果正在显示searchResults,则helpSection应该消失。

我尝试了各种方法,但没有一种方法有效。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

像这样:

if($('#yourElement').is(':visible')) 
{
    $('#yourOtherElement').hide();
}

如果您想要显示它,可以使用show(),如下所示:

$('#yourOtherElement').show();

但是,如果这是在页面加载时确定的,那么使用服务器端语言定义它会更聪明。

答案 1 :(得分:0)

您的网页上似乎只有一个帮助部分。

势在必行的方法: 因此,您可以通过使用getElementById来检索帮助节元素来解决此问题。 如果没有返回返回的元素,则不会将其附加到dom,否则请检查display属性。

基于事件的方法(检查浏览器限制): 如果您只是根据需要删除并将帮助部分附加到dom,则可以绑定dom插入和删除以触发其他元素的可见性。 这是一个讨论事件绑定的相关帖子 Is there a jquery event that fires when a new node is inserted into the dom?

答案 2 :(得分:0)

根据您的HTML标记,您可能只使用CSS。

CSS

#searchResults + #helpSection {
    display: none;
}

HTML

<div id="searchResults">Search search search</div>
<div id="helpSection">Help help help</div>

jsfiddle

查看删除后会发生什么:

<div id="searchResults">Search search search</div>