0

我的 bxslider 可以工作,但是当我尝试在 a) updatepanel 或 b) jquery ajax 调用之后运行它时,宽度重置为 100px,而不是我的外部 div 的宽度为 960px。这发生在一些基本动画之后,例如 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() 并遇到了同样的问题。为什么这些动画将其宽度重置为 100 像素?

奇怪的是,这只发生在 Chrome、Firefox 和 IE9 中,而不是 IE7 或 IE8!

4

1 回答 1

0

在这里找到了答案,虽然问题与他们使用 .show() 略有不同,但对于 slideToggle() 的解决方案相同

显示/隐藏 div 中的 bxSlider

在 slideToggle() 使其适用于所有浏览器之后,简单地执行以下操作。

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