ユーザーがボタンをクリックしたときにスタイルシートを交換するためのシステム設定ができました。 Cookieが設定されています。ユーザーは、スタイルシート間の優先順位を設定していない場合DOM Readyの後にスタイル/呼び出し関数にCookieを設定する
jQuery(document).ready(function() {
$(function() {
$("#designSwap li a").click(function() {
$("link").attr("href",$(this).attr('rel'));
$.cookie("cssSessionColor",$(this).attr('class'), {expires:null, path: '/'});
$.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'});
updateColor($(this).attr('class'));
return false;
});
});
});
そうでない場合は、ランダムに1つを選び、ちょうどセッションクッキーセット:それのすべてが正常に動作している
if($.cookie("css")) {
$("link").attr("href",$.cookie("css"));
}else if($.cookie("cssSession")) {
$("link").attr("href",$.cookie("cssSession"));
}else{
var rand = Math.floor(Math.random()*2)
if (rand > 0) {
$("link").attr("href","/lib/css/common-dark.css");
$.cookie("cssSessionColor","dark", {expires:null, path: '/'});
$.cookie("cssSession","/lib/css/common-dark.css", {expires:null, path: '/'});
}else{
$("link").attr("href","/lib/css/common.css");
$.cookie("cssSessionColor","light", {expires:null, path: '/'});
$.cookie("cssSession","/lib/css/common.css", {expires:null, path: '/'});
};
}
。問題は、サイト上のFlashビデオプレーヤーの色を設定することにあります。 (updateColor関数)。ユーザーがリンクをクリックして色を選択しても、クッキーを読むだけでは機能していない場合に機能します。
私たちはDOMが準備が整う前に問題が発生していると思います。
私たちがやっていることは、レディファンクションがヒットしたら調整カラーを呼び出すことです。これはたぶん簡単なことですが、私たちはそれを見ていません。
は、私が最初の実行を取得し、どのようなupdateColorが呼び出されたときに、あなたのクッキーが返送されているものを決定するために(アラートに入れたり)、お気に入りのデバッガを使用します。私はあなたの実行命令がオフであると思っていますが(確かにそれを判断するのに十分ではありませんが)、ページの読み込み時にあなたのクッキーがヌルになっています。この代わりに、 ' ' jQueryの(ドキュメント).ready(関数(){; $({ })}): '// jQueryの統括的準備の文 –