1

Smoothdivscroll プラグインで断続的な問題が発生しています。ページをロードすると、最初の画像だけが表示され、静止したままになることがあることに気付きました。時々(数回更新した後)、すべての画像が読み込まれ、スクロールが開始されます。ajaxContent.php からの応答を調べたところ、フラグメントの応答は正しいようです。

現在、次のサンプルコードを使用しています。

$("#div").smoothDivScroll({
    autoScrollingMode: "always", 
    autoScrollingDirection: "endlessloopleft", 
    autoScrollingStep: 1, 
    autoScrollingInterval: 15, 
    ajaxContentURL: "ajaxContent.php"
});

http://www.smoothdivscroll.com/lab.htmlの例のように、"Replace content with demo html content" がオンになっているように、 ajaxContent.php は画像ソースを含む div を含むページ フラグメントを返します。画像の src は、実際には外部サイトの画像へのフル パスであり、次のようなものです。

<img src="http://example.com/image.jpg">.

返されるフラグメントの例:

<div class="contentBox">
<img src="http://example.com/image.jpg">
</div>
<div class="contentBox">
<img src="http://example2.com/image2.jpg">
</div>

次に、非常にうまく機能するように見えるデモの例も試しました。外部サイトからの画像の読み込みが遅いと、プラグインが正しく機能しない可能性がありますか?

4

1 に答える 1

0

はい、画像の読み込みが遅い、および/またはプラグインがスクロール可能な領域内のすべての要素の合計幅を計算するのを困難にするクラス "contentBox" を持つ div の CSS の問題が原因である可能性があります。

Smooth Div Scroll が開始されると、ajaxContentURL が指定されているかどうかがチェックされます。その場合、その URL から HTML コンテンツをロードし、その直後にスクロール可能領域の幅を再計算します。スクロール可能な領域の幅を再計算すると、直接の子要素の幅が調べられます。あなたの場合、クラス「contentBox」のdivです。これらの div に CSSで指定された固定幅がなく、画像の一部またはすべてが完全にロードされていない場合、Smooth Div Scroll はすべての要素の合計幅を間違って計算します。

すべての画像が同じ幅である場合は、「contentBox」-div に固定幅を設定してみてください。もう 1 つの方法は、ラッパー div を一時的に取り除き、イメージ タグを含む HTML をロードすることです。

于 2012-05-10T13:17:28.933 に答える