所有可折叠商品都不应该崩溃。至少有一个项目应保持未收缩状态。我想更改以下示例以满足我的需求。我将不胜感激任何帮助!
/*\Animate collapsible set;\*/
$(document).one("pagebeforechange", function () {
// animation speed;
var animationSpeed = 200;
function animateCollapsibleSet(elm) {
// can attach events only one time, otherwise we create infinity loop;
elm.one("expand", function () {
// hide the other collapsibles first;
$(this).parent().find(".ui-collapsible-content").not(".ui-collapsible-content-collapsed").trigger("collapse");
// animate show on collapsible;
$(this).find(".ui-collapsible-content").slideDown(animationSpeed, function () {
// trigger original event and attach the animation again;
animateCollapsibleSet($(this).parent().trigger("expand"));
});
// we do our own call to the original event;
return false;
}).one("collapse", function () {
// animate hide on collapsible;
$(this).find(".ui-collapsible-content").slideUp(animationSpeed, function () {
// trigger original event;
$(this).parent().trigger("collapse");
});
// we do our own call to the original event;
return false;
});
}
// init;
animateCollapsibleSet($("[data-role='collapsible-set'] > [data-role='collapsible']"));
});
以下是动画可折叠集的工作示例:http://jsfiddle.net/jerone/gsNzT/
答案 0 :(得分:0)
所以你不想让所有的项目都崩溃了?我会这样做: 抓住崩溃事件然后:
如果当前展开了折叠项目(.attr('data-collapsed') == "true"
),则返回false并防止崩溃
如果没有展开折叠项目,没关系,它会崩溃,另一个项目会展开
您可能会考虑检查此问题:How do I restrict a collapsible item to stay expanded...
如果已经实现了此
的方法,还要检查jquery移动文档