0

我正在使用 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>
4

2 回答 2

1

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

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

向你的 body 添加一个类,该类将通过 js 删除。

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

现在您可以扩展此方法以根据此条件进行尽可能多的样式更改。

.no-js .xyz {
    display: none;
}
于 2013-02-09T19:43:29.537 回答
1

在您的 CSS 设置中.search_prompt 显示none

.search_prompt
{
    display:none;
}

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

于 2013-02-09T16:43:02.797 回答