html Div隐藏问题

html Div隐藏问题,第1张

实现div隐藏可以通过设置display、visible和div的大小等实现隐藏效果。

CSS display 属性

display 属性规定元素应该生成的框的类型。值为none时,此元素不会被显示。

/示例/

div{display:none;}

CSS visibility 属性

visibility 属性规定元素是否可见。值为hidden时表示元素是不可见的。

/示例/

div{visible:hidden;}

提示:visible:hidden;和display:none;的区别是,即使不可见的元素也会占据页面上的空间。 "display" 属性可以用来创建不占据页面空间的不可见元素。(visible和display属性的其他可能值可在W3School查看)。

设置DIV的大小实现隐藏

将div的宽度和高度设置为零,也可以达到隐藏的效果。

/示例/

div{

width:0px;

height:0px;

overflow:hidden;/规定当内容溢出元素框时隐藏。防止div大小设置为零,里面的文本却还是显示。/

}

将下面的代码拷贝并保存为一个html文件(如testhtml),然后用浏览器打开该html,测试效果。

先点击下文本框,然后点击文本框以外的地方以实现文本框失去焦点。<br/><br/>

<input type="text" name="test" onblur="showDiv();" id="test">

<div id="myDiv" style="display:none;width:160px;height:90px;background-Color:blue;margin-top:10px"></div>

<script type="text/javascript">

// 显示DIV,并执行定时器函数

function showDiv(){

documentgetElementById("myDiv")styledisplay = "block";

timeer_hideDiv();

}

// 隐藏DIV

function hideDiv(){

documentgetElementById("myDiv")styledisplay = "none";

}

// 定时器:20秒后执行隐藏DIV的函数

function timeer_hideDiv() {

windowsetTimeout("hideDiv()", 20000);

}

</script>

希望可以帮到你!

你应该在普通div上加onclick(模拟获取焦点)来实现你的需求。

<html>

<body>

<input type="test" onfocus='txtfocus()' />

<div id='div' style="display:none" >我是焦点DIV</div>

<div onclick='divFocus()'>普通div</div>

<script language="javascript" >

function txtfocus(){

documentgetElementById('div')styledisplay="block";

}

function divFocus(){

documentgetElementById('div')styledisplay="none";

}

</script>

</SCRIPT>

</body>

</html>

呵呵,我也遇到过同样的问题,一开始的想法是在d出的DIV上用onMouseout事件隐藏自己,如果这个DIV中没有其它内容的话是可以实现的,但如果在d出的div中嵌套有其它div或其它标签的话,就会有问题。记得我好像使用了一个笨办法,就是先获取这个d出的DIV的范围,同时获取鼠标的当前位置,当鼠标移出DIV的范围的时候,隐藏DIV。以下是这段代码,也共同期待有更好的办法。 还需要说明的是这段代码在IE上没问题,如果是FireFox的话,获取鼠标当前位置应该用:eventpageX|Y,这个问题在代码中加一个判断应该可以解决。

<script language="javascript" type="text/javascript">

documentonmousemove = mouseouthide;

//鼠标移出DIV范围时隐藏

function mouseouthide() {

var b=20;//加一点余量,否则当点击文本框时div没d出就被隐藏了

var obj = documentgetElementById("poplist"); //poplist是d出div的ID号

var t = documentbodyoffsetTop;

var l = documentbodyoffsetLeft;

var ol = l + objoffsetLeft-b;

var or = l + objoffsetLeft + objoffsetWidth + b;

var ot = t + objoffsetTop-b;

var ob = t + objoffsetTop + objoffsetHeight + b;

var x = eventclientX + documentbodyscrollLeft;

var y = eventclientY + documentbodyscrollTop;

if (x <= ol || x >= or || y <= ot || y >= ob)

objstyledisplay = "none";

}

</script>

/简单来说就是通过设置按钮的onclick事件来控制div的显示和隐藏。

//比如在css中先将div的display设置为"none",那么点击的时候就先查询display值是否为"none",

//如果为"none"的话,就改为"block",即显示div;如果不是"block"就改为"none",隐藏div。

var

obutton

=

documentgetelementbyid("button");//假设html中按钮id="button",并取得。

var

odiv

=

documentgetelementbyid("div");//假设html中div的id="div",并取得。

obuttononclick=function(){

if

(odivstyledisplay

==

"none"){

odivstyledisplay

=

"block";

}else

{

odivstyledisplay

=

"none";

}

}

//还有就是用三元 *** 作符更简洁一些。

以上就是关于html Div隐藏问题全部的内容,包括:html Div隐藏问题、文本框失去焦点时,隐藏的div显示,但是div20秒隐藏请教高手、javascript 焦点问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9628976.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存