2011-08-14 7 views
0

jQueryをスタイリング専用に使用していますが、divはbodyセクションのhtmlタグを使って作成しています。問題はブラウザが最初にページのコンテンツを左側に整列して表示し、数秒後にコンテンツがjQuery CSSのスタイリングに従って整理されることです。私の質問です:ブラウザを最初に左側に整列させずに正しい場所にコンテンツを表示させる方法はありますか?ありがとう。jQueryスタイリングの質問

+0

CSSファイルを使用して、jQueryが必要ないすべてのスタイリングを入れてみましょう。 –

+0

はい。それはまさに私がやったことです。ありがとう – FadelMS

答えて

3

あなたのオプション:

  1. が、それは隠されたすべてのコンテンツと目的

  2. スタートページにありますないすべてのスタイル情報を適用するためのjQueryを使用しないでください、それはだ、適用するあなたのクラス情報隠しコンテンツへの属性。これは、JSが有効になっている場合、要素をHTMLにクラスを追加します

    document.documentElement.className += ' js'; 
    

    :あなたが完了したら、まずヘッド部内のスクリプトタグでこれを追加コンテンツ

+0

2番目のオプションが機能しませんでした。だから私はjQuery CSSを通常のスタイルシートに置き換えました。ありがとう – FadelMS

0

jQueryがスタイルを適用する要素を持つためには、jQueryが既にブラウザによってレンダリングされている必要があります。したがって、コンテンツは最初にjavascriptで適用されるスタイルなしで最初に表示されます。構造化されていないコンテンツのフラッシュを避けるには、そのコンテンツにdisplay:noneを追加し、jQueryを使用してスタイリングした後でそれを表示します。ページがロードされ、$(document).ready();イベントで物事が見えるようにしている前に、あなたのメインの<body>タグにdisplay:noneまたはvisibility:hidden;を設定した場合

<div id="myJqueryStyledStuff" style="display:none">content</div> 

<script>$('#myJqueryStyledStuff').show();</script> 
+0

javascriptが無効になっているブラウザを正しくサポートするため、stradaの答えが良いです。そして、no.good.at.codingが正しいです。必須のスタイルにjqueryを使用するのは一般的には良い考えではありません。私は実際にそれが必要となる状況を考えることができません。だからあなたはおそらくそれをするべきではありません。 –

0

、それが動作するはずです。

1

を再表示。あなたがいないのJavaScriptサポートを持つ人々からのコンテンツを隠すべきではありませんので、我々はこの「jsの」クラスを使用

.js #wrapper{ 
     display:none; 
} 

:あなたは次のようにCSSでこのクラスを使用することができます。

ラッパーは、jQueryを使用してスタイルを設定する要素IDです。 jQuery操作を完了したら、jqueryでスタイル付き要素を表示します。