如果禁用javascript,如何避免显示该框?

时间:2013-02-09 16:36:09

标签: javascript css

我正在使用javascript来隐藏我网站上的框,然后当用户点击文本区域时,将显示此特定框。但是,如果用户,无论出于何种原因,正在离线查看我的网站或没有启用JavaScript,或者甚至有时当页面加载缓慢时,这些应该被javascript隐藏的框可以看到,我想知道我是否除非通过javascript调用,否则可以使用css或其他东西默认隐藏框?

我是javascript的新手,如果有人能告诉我我需要做什么,我会很感激。感谢。

<script>
           $(function() {
            $(".search_prompt").hide();
            var focusin_flag = false,
                focusout_flag = false;
            $("#text").focusin(function() {
                if (!focusin_flag) {
                    $(".search_prompt").show();
                    focusin_flag = true;
                }
            }).focusout(function () {
                if (!focusout_flag ) {
                    $(".search_prompt").hide();
                    focusout_flag = true;
                } 
                function timeout_init() {
        setTimeout('search_prompt()', 2000);

                }

            });
        });  

        </script>

2 个答案:

答案 0 :(得分:1)

在您的css集.search_prompt 显示中为none

.search_prompt
{
    display:none;
}

这样,默认情况下该框是隐藏的,如果启用了javascript,您可以在需要时显示它。

答案 1 :(得分:1)

我认为最好的方法是在禁用JS时将相同的类添加到您想隐藏的所有框中。

<div class="xyz"> ... </div>

在您的身体上添加一个将通过js删除的课程。

<body class="no-js"> ... </body>
<script>
    document.body.className = document.body.className.replace('no-js','');
</script>

现在,您可以扩展此方法,根据此条件进行所需的样式更改。

.no-js .xyz {
    display: none;
}