0

私の bxslider は動作しますが、a) updatepanel または b) jquery ajax 呼び出しで実行しようとすると、幅が 960px である外側の div の幅ではなく 100px にリセットされます。これは、slideToggle や show などの基本的なアニメーションの後に発生します。これが私のコードです

 <script type="text/javascript">
    function pageLoad(sender, args) {
        if (args.get_isPartialLoad()) {
            var eventSlider = $("#season-slider").bxSlider();

        $(".event-list li a").click(function() {
            //var eventID = $(this).
            var selectedIndex = $(this).closest("li").index();

            $('html, body').animate({ scrollTop: 0 }, 'slow',
            function() {
                eventSlider.goToSlide(selectedIndex - 1);
            });

            //eventSlider.reloadShow();
        });

        $(".down-slide-panel").stop(true, true).slideToggle('slow', "easeOutQuart", function () {});
        }
        else {

        }
    }
</script>

slideToggle ビットを実行すると、幅が 100px にリセットされました。slideToggle を実行しないと、正常に動作します。そこで、slidetoggle を show() に変更してみましたが、同じ問題が発生しました。これらのアニメーションの幅が 100px にリセットされるのはなぜですか?

奇妙なことに、これは Chrome、Firefox、IE9 でのみ発生し、IE7 や IE8 では発生しません!

4

1 に答える 1

0

ここで答えを見つけました.show()を使用していたのとは少し異なる問題ですが、slideToggle()の同じ解決策

show/hide div 内の bxSlider

slideToggle() の後に以下を実行するだけで、すべてのブラウザーで機能します。

eventSlider.reloadShow(); 
于 2012-09-24T12:16:22.767 に答える