2011-12-21 33 views
1

签署了我与香草的工作,并希望隐藏一个div如果用户登录。隐藏DIV,如果用户在

其中一个编码器给了我这个代码。

<script language="javascript"> 
jQuery(document).ready(function($) { 
if (gdn.definition('SignedIn', '0') != '0') { 
<div class="sp-container"> 
    <p>blah blah blah</p> 
</div> 
} 
}); 
</script> 

的DIV类SP-容器我想隐藏IF用户登录。

其中一名成员的建议,使用

$('.sp-container').hide(); 

$('.sp-container').css({'visibility':'hidden'}); 

但我不确定如何实际执行该代码。或者在哪里以及如何添加...请提供任何帮助。 。

我所希望做的,如果用户登录时,不会显示在div SP-容器

+0

坚持 - 有什么问题?隐藏它,如果他们登录,隐藏它,除非他们登录? – 2011-12-21 22:14:04

回答

1

不知道这将工作不知道香草 - 但如果该属性设置这将工作:

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    if (gdn.definition('SignedIn', '0') != '0') { 
     jQuery(".sp-container").hide(); 
    } 
}); 
</script> 

这将运行后的DOM准备好(在ready()功能),将检查gdn.definition - 如果它不是“0”,它会隐藏与类“SP-容器”股利 - 请记住,包括了jQuery图书馆

+0

完美谢谢 – 422 2011-12-22 00:37:19

1

把第一行(隐藏)紧接在})之前;最后。

如果他们没有登录,那么隐藏不会找到div,反正也不重要。

另一方面 - 你可以完全删除整个事情,没有什么会出现,登录或不。

1

这不完全是你需要的,但非常接近。 您的脚本标签内部可以是文档的头部(在这种情况下,document.ready将被要求,或者在页脚附近(很多人都是这样做的,因此JavaScript在页面之后加载)。

<script type="text/javascript"> 
// use the document.ready to process the if statement only after the page completely loads 
jQuery(document).ready(function(){ 
    // hide the container if the user is logged in 
    if (gdn.definition('SignedIn', '0') != '0') { 
     jQuery('div.sp-container').hide(); 
    } 
}); 
</script> 

然后你就可以在您的网页的SP-div容器,如果你是在签字会被隐藏

还要注意的是语言=“JavaScript的”已经过时;类型=“文/ JavaScript的”应在您的脚本标记中使用,除非您使用的是相当旧的文档标题

另外,如果只有javascrip您包含的pt库是jQuery,您可以简单地使用“$”而不是“jQuery”来替换。 (例如$('div.sp-container')。hide();)