3

私のウェブサイトには、ホームページにのみ表示するスライダーがあります。私のホームページは次のようになります。

<body>
  <div class="wrapper">
     <div class="header"></div>
     <div class="slider"></div>
   <div class="maincontent"></div>
 </div>
</body>

マイページは同じレイアウトですが、最初のページにSliderdivのみを表示する必要があります。したがって、ユーザーが最初にWebサイトにアクセスしたときはスライダーが表示されますが、別のページに移動するとスライダーは表示されなくなります。

jqueryでそれを行う方法があるかどうか疑問に思いましたか?クッキー?誰か提案があれば、私がこれをどのように行うか教えてください。ありがとう!

4

3 に答える 3

4

はい、これを行う方法があります。実際、複数の方法があります。JavascriptとPHPのようなサーバーサイドスクリプト言語の両方を使用してそれを行うことができます。サーバーサイドスクリプト言語を使用することをお勧めします。使用しない場合はページに要素を追加しても意味がありませんが、使用する帯域幅はごくわずかです。とにかく、両方の方法を使用した例は次のとおりです。

PHPの使用:

<body>
<div class="wrapper">
<div class="header"></div>
<?php

if (!isset($_COOKIE['visisted'])) {
    setcookie('visited', true, time() + 3600 * 24); // Save a cookie for 1 day
    echo '<div class="slider"></div>';
}

?>
<div class="maincontent"></div>
</div>
</body>

そしてJavascriptを使用して:

<head>
<style type="text/css">
div#slider {
    /* Hide the div */
    display: none;
}
</style>
</head>

<body>
<div class="wrapper">
<div class="header"></div>
<div class="slider"></div>
<div class="maincontent"></div>
</div>

<script type="text/javascript">
var cookie = document.cookie;
if (cookie.indexOf('visited=', 0) == -1) {
    var expiration = new Date();
    expiration.setDate(expiration.getDate()+1);
    document.cookie = 'visited=1;expires=' + expiration + ';path=/';

    var element = document.getElementById('slider');
    element.style.display = 'block';
}
</script>
</body>

ちなみに、これはあなたのHTMLページ全体ではないと思いますか?明らかに、Doctype、タグなどを追加する必要があるためです。

于 2012-12-05T18:56:07.323 に答える
2

確かに、あなたは使用することができます:

  1. jsからアクセスできるCookie
  2. HTML5 WebStorageも素晴らしい場所ですが、新しいブラウザでのみ機能します
于 2012-12-05T18:37:42.170 に答える
0

ブラウザに縛られていない場合は、HTML5LocalStorage変数を使用することをお勧めします。

http://www.w3schools.com/html/html5_webstorage.asp

ただし、ブラウザに依存しない(IE6などをサポートする)場合は、CookieまたはアクセスしたIPを含むデータベースを使用します。

于 2012-12-05T18:38:09.410 に答える