我的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()并遇到了同样的问题。为什么这些动画将其宽度重置为100px?
奇怪的是,这只发生在Chrome,Firefox和IE9中,而不是在IE7或IE8中!
答案 0 :(得分:0)
在这里找到了答案,虽然他们使用.show()时遇到的问题略有不同,但是对于slideToggle()的解决方案相同
bxSlider within show/hide divs
在slideToggle()使其适用于所有浏览器之后,简单地执行以下操作。
eventSlider.reloadShow();