0

jQueryを介してスライドして開く非表示のDIV内で、BXSLIDERというJquery Sliderを使用しています。問題は、ブラウザのサイズを少し変更しないとスライダーが表示されないことです。

これは、div が開く前にスライダーの JavaScript が読み込まれているためだと思います。そのため、ブラウザーのサイズを変更するまで、適切な高さ/幅の寸法が見つかりません。

これに対する回避策はありますか?

例は次のとおりです。

必ず [ケンブリッジ]、[ショッピング]、[サイズ変更] の順にクリックしてください

4

2 に答える 2

1

Visiblity:hidden で div を非表示にするか、表示可能な領域の外側に絶対に配置します。その後、要素は引き続きレンダリングされ、スライダーは正しく初期化できます。また、スライダーの初期化前にすべての画像が完全にロードされているかどうかを確認するのに非常に役立つJquery プラグイン imagesLoaded ( https://github.com/desandro/imagesloaded ) もお勧めします。

于 2013-04-01T21:35:50.963 に答える
0

これは古いことは知っていましたが、将来他の人に役立つかもしれません。ウィンドウのサイズを変更するまでJSチャートが表示されないという同様の問題がありました。私がしたことは、初期化子を関数としてラップし、イベント ハンドラーで関数を呼び出すことでした (私の場合はボタンのクリックでした)。詳細なしで説明するのは奇妙でしたが、これが機能しないフィドルがあり、このフィドルには修正があります。

$("#button").click(function(){
    $("#chartdiv").toggle();
    makeChart();
});

function makeChart() {
     var chart = AmCharts.makeChart("chartdiv", {
         //all the stuff
     });
}
于 2014-06-19T14:35:01.787 に答える