0

私はjqueryにまったく慣れていません。ヘッダーの背景画像をランダムに設定できるようにしたい。ページが更新されるたびに変更したくありません。むしろ、セッションごとに1回だけ設定したいと思います。これにはセッションCookieを使用する必要があると思いますが、機能させることができません。

以下は、リフレッシュごとに正常に機能するものです。更新のたびに変化するのを止めたいだけです。

$(document).ready(function () {
var randomImages = ['image1', 'image2', 'image3', 'image4', 'image5'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var imageFile = $('#imgpathname').val() + randomImages[rndNum] + ".jpg";
$("div#header").css({ background: "url(" + imageFile + ") no-repeat" });
});

助けてくれてありがとう。

4

2 に答える 2

1

こんにちは、imageIDをsessionStorage / localStorageなどのhtml5ストレージオブジェクトに保存しないのはなぜですか。詳細については、 Html5StorageDocにアクセスしてください。これを使用すると、中間値を一時的/永続的にローカルに保存し、セッションの値を保存するために値にアクセスできます。

sessionStorage.getItem('label')
sessionStorage.setItem('value', 'label')

またはを使用して値を永続的に保存します

localStorage.getItem('label')
localStorage.setItem('value', 'label')

したがって、リロード後も保持できるhtml5ストレージオブジェクトを使用して、複数のページ間でフォームデータを(一時的に)保存できます。

これで、あなたの場合、画像IDをsessionstorageに保存し、ページが更新されるたびにそれを使用して、セッションごとに同じ画像が読み込まれるようにすることができます。

于 2012-07-24T10:21:58.327 に答える
1

ここで jQuery.cookie.js が役立つ可能性があります。

https://github.com/carhartl/jquery-cookie/

プロジェクト ページから、セッション Cookie を作成するのは次のように簡単です。

$.cookie('the_cookie', 'the_value');

その後、ページが読み込まれるたびにこの Cookie を読み取ることができます。

$.cookie('the_cookie'); // => "the_value"

それが役立つことを願っています。上記のように、HTML5 ローカル ストレージを使用できますが、セッション cookie がより広くサポートされています。

于 2012-07-24T10:24:13.130 に答える