答案 0 :(得分:5)
您需要关闭打开菜单,同时打开另一个菜单。在打开任一菜单的click
处理程序内,添加以下内容:
$(".ui-sub-panel-open")
.addClass('ui-sub-panel-close ui-sub-panel-animate')
.removeClass("ui-sub-panel-open");
这将关闭打开菜单然后滑动下一个;完整的代码。
/* open submenu1 */
$('.sub1').on('click', function () {
$(".ui-sub-panel-open")
.addClass('ui-sub-panel-close ui-sub-panel-animate')
.removeClass("ui-sub-panel-open");
$('#submenu1')
.addClass('ui-sub-panel-open ui-sub-panel-animate')
.removeClass("ui-sub-panel-close");
});
/* open submenu2 */
$('.sub2').on('click', function () {
$(".ui-sub-panel-open")
.addClass('ui-sub-panel-close ui-sub-panel-animate')
.removeClass("ui-sub-panel-open");
$('#submenu2')
.addClass('ui-sub-panel-open ui-sub-panel-animate')
.removeClass("ui-sub-panel-close");
});
关于background
颜色,将您想要的任何颜色ui-sub-panel-open
和另一种颜色(如果需要)添加到ui-sub-panel-close
。
.ui-sub-panel-open {
-moz-transform: translate3d(-17em, 0, 0);
-webkit-transform: translate3d(-17em, 0, 0);
transform: translate3d(-17em, 0, 0);
background: lightblue;
}
.ui-sub-panel-close {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
background: lightgray;
}
不要忘记删除下面的CSS
#submenu1 {
background: color;
}
#submenu2 {
background: color;
}
要将关闭的面板向左滑动,请按以下步骤修改.ui-sub-panel-close
。
.ui-sub-panel-close {
-webkit-transform: translate3d(-34em, 0, 0);
-moz-transform: translate3d(-34em, 0, 0);
transform: translate3d(-34em, 0, 0);
background: lightgray;
}
然后您应该通过收听transitionend
事件将子菜单返回到其原始位置。
$(document).on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", "#submenu1, #submenu2", function () {
var position = $(this).offset().left;
if (position < 0) {
$(this).removeClass("ui-sub-panel-close ui-sub-panel-animate");
}
});
<强> Demo 强>