0

iosSlider プラグインを利用したサイトを作っています。jqueryアコーディオン内にいくつかのスライダーがあるため、ページが最初に読み込まれたときに「display:none」から始まるスライダーもあります。その結果、アコーディオン内のスライダーが適切な画面幅になりません。隠されたアコーディオンの 1 つを開くと、内部のスライダーは小さいです。

この問題を解決するためのより良い方法があるかどうか、私が現在使用しているものよりも興味がありました. 今は単にスライダーを破棄して思い出すだけですが、これは見た目が悪く、おそらくこれを解決するためのより良い方法があると確信しています。

どんな入力でも素晴らしいでしょう、ありがとう

現在のコード:

        $(".acheader").click(function(e) {
            //e.preventDefault();
            e.stopPropagation();
            acords.slideUp();
            $(".menuarrow").attr('src','/themes/images/arrow_down.png');

            var image = $(this).find(".menuarrow");

            if(image.attr('src') === "/themes/images/arrow_down.png"){
                image.attr('src','/themes/images/arrow_up.png');
            }

            if ($(this).next().is(":hidden")) {
                $(this).siblings(".accontent").slideToggle(100);
                $('.iosSlider2').iosSlider('destroy');
                $('.iosSlider2').iosSlider({
                    snapToChildren: true,
                    desktopClickDrag: true,
                    keyboardControls: true,
                    navNextSelector: $('.next'),
                    navPrevSelector: $('.prev'),
                    onSlideChange: slideChange2
                });
            }
            else image.attr('src','/themes/images/arrow_down.png');
        });

編集: これはモバイル サイト用であるため、参照できる静的な幅はありません。スライダーの親は、親から幅を継承します..など.

4

1 に答える 1

0

iosSlider ドキュメントを見ると、パブリック メソッドの下に、サイズを変更する更新コマンドがあるようです。$('.iosSlider2').iosSlider('update');破壊する代わりに使用します。それは役に立ちますか?

于 2012-11-09T19:58:56.927 に答える