0

それは本当に奇妙なので、説明するのは難しいでしょう。しかし、私は最善を尽くします。

コンテンツがラッパーをオーバーフローしたときに表示される必要があるスクロールバーがあります。単純。

しかし、ユーザーが最初にページにアクセスしたときに、スクリプトまたはHTMLの一部が読み込まれていません。彼がもう一度そのページにアクセスすると、それは機能します。

それを見るには、「ポートフォリオ」をクリックしてください:http: //chuckbox.net/chromatemp/

->初めて、スクロールバーは表示されません->もう一度クリックすると、今すぐ表示されます(そして、これからもずっと表示されます)

私はグーグルクロームでのみこの問題を抱えています。参考までに、私はスクロールバーにjscrollpaneを使用していますが、問題はないと思います。

4

1 に答える 1

2

ページにアクセスすると、次のように表示されます。

画像には属性が設定されておらずheight、ブラウザーは画像サイズを認識する前に、外部 CSS または画像自体を待機する必要があります。

次のスニペットがあります。

  $(function(){
    $('#side-content').jScrollPane();
    $('#portfolio-content-wrapper').jScrollPane();
  });

DOM がロードされるときにプラグインを呼び出しますjScrollPaneが、これは外部 CSS がロードされる前に発生する可能性があります。これは、プラグインが呼び出されたときに、CSS (またはすべての画像) がブラウザーのキャッシュに既に存在しない限り、プラグインが正しい長さにアクセスできないことを意味します (後でそれを読み取らないようです)。

これを修正するには、

height画像付きの属性を含める: <img src=... height=240>、または

外部 CSS が読み込まれるまで待ちます。

  $(window).load(function(){
    $('#side-content').jScrollPane();
    $('#portfolio-content-wrapper').jScrollPane();
  });

または、プラグインを初期化してreadyから繰り返すloadこともできます (プラグインで許可されている場合)。

于 2012-11-25T15:12:25.987 に答える