2010-12-30 13 views
1

私はサイズ変更を作成忙しいんだけど、リロードの上に、それは最初にクッキーをロードし、固定何かに幅が設定されるまで、100%からスイッチ:CSSプロパティを設定する最速の方法は?

//set width from cookie, unfortunately we need todo this on docready because #main-container is not done rendering -_- 
var width = $.cookie("width"); 
// Set the user's selection for the left column 
if (width != null) { 
    if (width == "fluid") { 
     alert("fluid!"); 
     $('#main-container').addClass('width-fluid'); 
    } else { 
     $('#main-container').addClass('width-fixed'); 
    } 
} else { 
    $('#main-container').addClass('width-fixed'); 
}; 

任意のアイデア?

おかげで、

デニス

+1

'!= null'は冗長であるように見えますが、' width == "fluid"に対してはif-elseが同じことをします。また、CSSプロパティを設定しないで、現在クラスを追加しています。彼らは2つの異なるものです。 – BoltClock

+1

あなたは私たちにjsを与えて、それが何をしているのか教えてくれました。私たちもhtmlを持っていて、あなたがしたいことを知っていれば正解を得ることができます。 – jondavidjohn

答えて

1

をデフォルトのCSSプロパティー "height"と "width"を0のインラインまたは外部のCSSファイルに設定するだけですeでは、クッキーがロードされると、それはあなたが望むものに設定されます。

ex。あなたが望むかもしれない場合は、インラインデフォルトのCSS(JSがそれに影響を与える前に)

<element style="height:0px;width:0px;" /> 

の私もの要素を設定するために、あなたはブロックレベル要素(画像)を扱っていると仮定していると、「表示:ブロック"それで、それは高さと幅を尊重します。

+0

私はこれを試しましたが、注射すると非常に遅くなりました。私はdocreadyの外で動作するものを探していて、#メインコンテナの完全なレンダリングには依存しません。 – FLX

+0

もう一度、私たちはあなたがしたいことを推測する必要があります。私はこのコメントから、ページを表示する前にクッキーの幅をロードしたいと思っていますか?より多くのコードを提供することができます(html/css/js) – jondavidjohn

0

あなたは以下でのjQueryを使用して、特定のCSSプロパティを設定することができます。

$("#selector").css("property-name", value); 

ので幅のために、あなただけ使用します。

$("#main-container").css("width", value); 
+0

私もこれを試しましたが、それはまるで遅いです。 – FLX

+0

あなたは「遅すぎる」と言い続けていますが、理由や要件が具体的に言われていません。 jsfiddleを介してサンプル・ページを投稿し、それがどのように動作しているか気に入らないものを記述してください。 – Sorpigal

関連する問題