2012-03-14 18 views
0

クッキーの値を取得できるようですが、対応するIDのスタイルは変更されません。私は何が欠けていますか?Javascriptクッキーを使ったスタイリング

function getCookie(name) { 
     var cookieName = document.cookie; 
     var prefix = name + "="; 
     var begin = cookieName.indexOf("; " + prefix); 
     if (begin == -1) { 
      begin = cookieName.indexOf(prefix); 
      if (begin != 0) return null; 
     } else begin += 2; 
     var end = cookieName.indexOf(";", begin); 
     if (end == -1) end = cookieName.length; 
     return unescape(cookieName.substring(begin + prefix.length, end)); 
    } 
    var value = getCookie('nameCookie'); 
    document.getElementById(value).style.height = "10%"; 

次のコードも動作しません

var value = getCookie('nameCookie'); 
    if (value == 'test') { 
      document.getElementById('test').style.height = "10%"; 
    } 
+0

あなたは(値)にconsole.log場合、それはあなたがTimWickstrom.com @ –

+1

を期待しているIDが含まれていない、彼は彼が – Starx

+0

は(のdocument.getElementById(値にconsole.logを試してみてください、という不在[値]を取得しているようだ 'と言います));どのような要素ですか?それはブロック要素ですか、それは10%の高さですか?ブラウザが10%を計算できるように、親の高さが定義されていますか? –

答えて

3

あなたseem to be able to retrieve the value of the cookie ので、問題は、コードが実行されるとDOMはまだ準備ができていないので、それは要素を見つけることができないということです。要素がロードされた後、スクリプトが実行されていることを確認します。

</body>を閉じる直前にスクリプトブロックを配置するだけです。

+0

は違いがないようです –

+0

いいですよね!私自身のコーディング習慣で甘やかされていたのは、ドムが準備が整っているかどうかも考えていなかったからです! –

+0

@ TimD'Haene、あなたはクッキーの値は何ですか? – Starx

関連する問題