ここでの私の以前のスクリプトは、呼び出されたときに特定のdivを非表示にして表示するのに役立ちましたが、表示されるdivをCookieに記憶させたいので、ユーザーはすべてのページのリンクをクリックし続ける必要はありませんが、これまでのところjquery.cookieを取得できませんでした私のコーディングで動作するようにプラグインしてください、どんな助けでも素晴らしいでしょう。
単一ページの作業:古いコードjquery:
function language(chosenlanguage) {
$('div[name|="lang"]').each(function(index) {
if ($(this).attr("class") == chosenlanguage) {
$(this).show(0);
}
else {
$(this).hide(0);
}
});
}
古いコードhtml(hrefとdivのみで省略):
<div class="language">
<a href="javascript:language('english');">english</a>
<a href="javascript:language('spanish');">spanish</a>
<a href="javascript:language('german');">german</a>
</div>
<div name="lang" class="english" style="display:block;">content</div>
<div name="lang" class="spanish" style="display:none;">content</div>
<div name="lang" class="german" style="display:none;">content</div>
jquery.cookie.jsプラグインを使用した新しいコードは次のとおりですが、まったく何もしません。
cookieスクリプトを使用したjquery:
$(document).ready(function() {
if($.cookie("language")) {
$('div[name|="lang"]').each(function(index) {
if ($(this).attr("class") == $.cookie("language")) {
$(this).show(0);
}
else {
$(this).hide(0);
}
});
}
$(".language a").click(function() {
$('div[name|="lang"]').each(function(index) {
if ($(this).attr("class") == $(".language a").attr("name")) {
$(this).show(0);
}
else {
$(this).hide(0);
}
});
$.cookie("language",$('.language a').attr('name'), {expires: 365, path: '/'});
return false;
});
});
html(省略):
<div class="language">
<a href="javascript:language('english');" name="english">english</a>
<a href="javascript:language('spanish');" name="spanish">spanish</a>
<a href="javascript:language('german');" name="german">german</a>
</div>
<div name="lang" class="english" style="display:block;">content</div>
<div name="lang" class="spanish" style="display:none;">content</div>
<div name="lang" class="german" style="display:none;">content</div>
だから私は私が間違っているのか疑問に思っていますか?