2

jsがオフになっているときのブラウジング体験を向上させるために、ユーザーにjsをオンにすることをお勧めします。私は絶対divでこれを行うことを考えていました、そして私がこれを宣言した直後に、jsを通してそれを隠します(これを行う方法の他の考えは大歓迎です)。ただし、jsがオフになっているときに、ボタンを使用してこのdivを非表示にするにはどうすればよいですか?

4

4 に答える 4

6

CSS3では、フォーム入力疑似クラスを使用できます。たとえば、チェックボックスをオンにした後のdivは、特定の方法でスタイル設定(または非表示)できます。簡単な例については、このjsfiddleを参照してください。

<style>
:checked + div {
    display: none;
}
</style>
…
<input type="checkbox" name="foo">
<div id="hideme">Hide me by checking the checkbox</div>
于 2012-12-14T19:13:35.380 に答える
2

投稿を含むページをリロードするか、サーバーへのリクエストを取得しない限り、jsなしでプログラムでdivを「非表示」にする方法はありません。

noscript本当に必要な場合は、タグを使用できます。

<noscript>FOO BAR</noscript>

しかし、javascriptなしでそれを隠す方法はありません。

于 2012-12-14T19:10:58.840 に答える
2

divは良い考えです。

divを非表示にする代わりに、divが含まれていないページにユーザーを誘導するためのリンクを作成するだけです。

于 2012-12-14T19:12:12.773 に答える
0

@kojiroのソリューションに示されているように、CSS3を介してこれを行うことができます。ただし、次にページが読み込まれるときにそのdivを非表示にすることもできます。そうしないと、訪問者が煩わしくなります。このため、CSS3トリックを実行するだけでなく、送信時にユーザーがdivを表示したくないことをシステムに通知するフォームを含むiframeをそのdiv内にロードすることもできます。次に、ビジネスロジックは、iframeフォームが送信されたときにユーザーのIPを記録する必要があります。PHPでは、これはたとえば

$_SERVER['REMOTE_ADDR'];

.jsがオフになっているため、セッションを使用できないため、これをデータベーステーブルに記録する必要があります。ユーザーが次のページを読み込んだら、ユーザーのIPを記録し、そのテーブルで検索します。存在する場合は、divの解析を無効にします。Fe

<?php
if (!$disableDiv)
echo "put the div";
?> 
于 2012-12-14T19:39:11.583 に答える