如何使用JavaScript使DIV可见和不可见?

vktxenjb  于 2022-11-27  发布在  Java
关注(0)|答案(9)|浏览(151)

你能不能做点

function showDiv()
{
    [DIV].visible = true;
    //or something
}
hmae6n7t

hmae6n7t1#

如果[DIV]是元素,则

[DIV].style.visibility='visible'

[DIV].style.visibility='hidden'
hmtdttj4

hmtdttj42#

让我们假设您没有使用jQuery之类的库。
如果还没有对DOM元素的引用,请使用var elem = document.getElementById('id');获取一个
然后您可以设置该元素的任何CSS属性。要显示/隐藏,您可以使用两个属性:displayvisibility,它们具有略微不同的效果:
调整style.display将看起来好像元素根本不存在(“已删除”)。

elem.style.display = 'none'; // hide
elem.style.display = 'block'; // show - use this for block elements (div, p)
elem.style.display = 'inline'; // show - use this for inline elements (span, a)

或者style.visibility实际上会使div仍然在那里,但是是“全空”或“全白色”

elem.style.visibility = 'hidden'; // hide, but lets the element keep its size
elem.style.visibility = 'visible';

如果您使用jQuery,那么只要您希望设置display属性,就可以更容易地完成此操作:

$(elem).hide();
$(elem).show();

它将自动使用适当的display值;您不必关心元素类型(内联或块)。另外,elem不仅可以是DOM元素,还可以是选择器,如#id.class或任何其他有效的CSS3(以及更多!)。

ssgvzors

ssgvzors3#

您可以使用visibilitydisplay,但您必须将变更套用至div.style对象,而非div对象本身。

var div = document.getElementById('div_id');

// hide
div.style.visibility = 'hidden';
// OR
div.style.display = 'none';

// show
div.style.visibility = 'visible';
// OR
div.style.display = 'block';
xdnvmnnf

xdnvmnnf4#

您可以使用DOM函数:setAttribute和removeAttribute。在下面的链接中,您将看到如何使用它们的示例。
setAttribute and removeAttribute functions
快速查看:

hide:    document.getElementById("myDiv").setAttribute("hidden","");
unhide:  document.getElementById("myDiv").removeAttribute("hidden");
1qczuiv0

1qczuiv05#

您可以使用opacity,它类似于visibility,但允许平滑过渡和控制其他参数,如高度(为了简化代码片段,我将js逻辑直接放在html中-不要在产品代码中这样做)
第一个

webghufk

webghufk6#

使用CSS使不可见

#div_id {
        /*height: 400px;*/
         visibility:hidden;
    }

使用Javascript使其可见

document.getElementById('div_id').style.visibility = 'visible';
0yycz8jy

0yycz8jy7#

使用DOM元素的'hidden'属性:

function showDiv(isVisible)
{
    [DIV].hidden = !isVisible;
}
nqwrtyyt

nqwrtyyt8#

ID是您的div的名称。确保在Div中有runat=“server”。

document.getElementById('<%= ID.ClientID %>').hidden = false;
         
            document.getElementById('<%= ID.ClientID %>').hidden = true;
lsmepo6l

lsmepo6l9#

截至2022年11月,浏览器对CSS还原值的支持为94.56%https://caniuse.com/?search=revert),因此如果要隐藏,请使用

elem.style.display = 'none'; // hide

用于可见性用途

elem.style.display = 'revert'; // show

这个posolite不关心元素类型
注意:revert关键字与initial关键字不同,不应与之混淆,后者使用CSS规范在每个属性基础上定义的 * 初始值 *。相反,用户代理样式表根据CSS选择器设置默认值。
例如,display属性的 * 初始值 * 是inline,而一般的使用者代理程式样式表会将<div> s的预设display值设定为block,将<table> s的预设display值设定为table,依此类推。revert

相关问题