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>

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 に答える