如何在关闭javascript时隐藏div

时间:2012-12-14 19:09:22

标签: javascript html

我想建议用户在js关闭时打开js以获得更好的浏览体验。我想用绝对div做这个,直接在我宣布之后,通过js隐藏它(任何其他想法如何做到这一点都是受欢迎的)。但是,当js关闭时,如何让用户通过按钮隐藏此div?

4 个答案:

答案 0 :(得分:6)

使用CSS3,您可以使用表单输入pseudo class。例如,可以以特定方式设置(或隐藏)已选中复选框后面的div。有关简单示例,请参阅this jsfiddle

<style>
:checked + div {
    display: none;
}
</style>
…
<input type="checkbox" name="foo">
<div id="hideme">Hide me by checking the checkbox</div>

答案 1 :(得分:2)

除非您使用帖子重新加载页面或向服务器获取请求,否则无法在没有js的情况下以编程方式“隐藏”div。

如果您愿意,可以使用noscript标记。

<noscript>FOO BAR</noscript>

但没有javascript就无法隐藏它。

答案 2 :(得分:2)

div是个好主意。

不要隐藏div,只需创建一个链接,将用户定向到一个没有div的页面。

答案 3 :(得分:0)

您可以通过CSS3执行此操作,如@kojiro的解决方案所示。但是,您还希望在下次加载页面时隐藏该div,否则您将会使访问者烦恼。出于这个原因,您可能希望在该div中加载一个iframe,其中包含一个不仅会执行CSS3技巧而且还会提交的表单,让系统知道用户不再需要显示div。然后,您的业务逻辑需要在提交iframe表单时记录用户的IP。在PHP中,这是例如

$_SERVER['REMOTE_ADDR'];

由于.js已关闭,因此您无法使用会话,因此您必须将其记录在数据库表中。当用户加载下一页时,记录用户的IP并在该表中查找。如果存在,则禁用div进行解析。 F.e。

<?php
if (!$disableDiv)
echo "put the div";
?>