jquery移动可折叠动画无法正常工作

时间:2016-03-31 14:33:31

标签: jquery jquery-mobile jquery-animate jquery-mobile-collapsible

我目前正在与Jquery Mobile中的可折叠集合进行斗争。我希望它在打开/关闭时动画,并在打开时滑动到屏幕顶部。它在项目早期工作,但不知何故停止了工作......

我已经尽力找到问题而没有运气;没有我的CSS表,问题仍然存在,并且仍然存在没有添加JS编码。我也尝试了不同版本的jQuery和Jquery Mobile(以及不同的组合) - 仍然没有。

我用所有相关的编码制作了一个jsfiddle:https://jsfiddle.net/usa8bjh1/

这是我正在使用的代码:

$(document).on('pagebeforeshow', function(){
$("[data-role='collapsible']").collapsible({
    expand: function(event, ui){
        $(this).children().next().slideDown(500);
        $('html, body').animate({
            scrollTop: $(this).offset().top - 0
        }, 800);
    },
    collapse: function(event, ui){
        $(this).children().next().slideUp(500);
    }
});
});

有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

我已使用有效的解决方案更新了您的fiddle,以这种方式绑定了可折叠事件:

$(document).on("collapsibleexpand", "[data-role=collapsible]", function () {
    $(this).children().next().slideDown(500);
    $('html, body').animate({
        scrollTop: $(this).offset().top - 0
    }, 800);
});

$(document).on("collapsiblecollapse", "[data-role=collapsible]", function () {
    $(this).children().next().slideUp(500);
});