如何在javascript中动态隐藏对象

时间:2011-12-19 02:40:27

标签: javascript css javascript-events visibility

我有一个网页,您可以使用自己的帐户登录。这个想法是,当你按下你的名字时,会出现一个小方块(类似于stackoverflow所做的)以及你的一些基本信息(名称,电子邮件等)。它是php,css和javascript的混合,但php只能选择用户的名字。所以,我有以下代码:

<style type="text/css">
table.UserInfo
{
    background-color:#000;
    width:100;
    height:100;
    position:fixed;
    top:10px;
    right:10px;
}
p.UserText
{
    color:#FFF;
}
</style>
<script type="text/javascript">
function showUser()
{
    //Unknown code here
}
</script>

在页面的某些部分......:     欢迎访客!

访问者实际上是通过php设置为登录用户或访问者(如果没有)。这是方框:

<table class='UserInfo' id='UserInfo' >
<tr>
<td><p class='UserText'>This user is a guest user. There is no information available.</p></td>
</tr>
</table>

所以,当我按下访问者时,我需要显示该框,因此代码将放在showUser()中,我需要知道我必须放置我的javascript代码,以便最初隐藏框。 对于我按下它时显示的框,我尝试将此代码放在showUser()函数中:

document.getElementById('UserInfo')style.visibility = 'hidden';

但它没有用。我把它隐藏起来,因为它开始是可见的。

谢谢

3 个答案:

答案 0 :(得分:6)

你也可以这样做:

var_name = document.getElementById("idname").style.display = 'none';

答案 1 :(得分:1)

这是正确的方法,但你需要在getElementById和style属性之间加一个点才能使javascript代码生效。如果你想让元素从隐藏开始,或者给它一个类

visibility:hidden;

或者您可以将其作为隐藏元素的内联样式。您也可以在加载事件触发时在javascript中执行此操作,但最好在html中执行此操作,因为如果页面需要很长时间才能呈现,那么用户将看到应该隐藏的内容,直到就绪事件触发为止。祝你好运。

答案 2 :(得分:0)

或者jquery:

$('.anyClass').fadeOut('fast');