编辑1
这是关于触摸事件。目的是通过一次触摸(在移动设备上)采取行动 - >伸展,第二次触摸收缩。触摸其他项目 - >它延伸和扩展以前的收回。
这就是问题:iPad 4.3.3效果很好。 iPhone 5.1& 6.0,& Android 4 - 第二触摸收缩和扩展。不是预期的效果。查看example here感谢您的关注。
这是jQuery或移动操作系统中的错误吗?
$(document).ready(function () {
if((navigator.userAgent.match(/iPhone|iPod|iPad|Android/i))) {
$('#nav li').click(function(){
// attach a click event listener to provoke iPhone/iPod/iPad's hover event
// Amended the next 3 lines
var $this_li = $(this);
$('#nav li ul').slideUp(function() {
$('ul', $this_li).slideDown();
});
});
} else {
$('#nav li').hover(
function () {
//show its submenu
$('ul', this).slideDown(200);
},
function () {
//hide its submenu
$('ul', this).slideUp(200);
}
);
}
});
答案 0 :(得分:0)
首先撤回全部 li,然后滑动在slideup的回调中点击的那个。这样,点击后的li会在当前li缩回后向下滑动。
$('#nav li').click(function(){
var $this_li = $(this);
$('#nav li ul').slideUp(function() {
$('ul', $this_li).slideDown();
});
});
} else {
等
答案 1 :(得分:0)
尝试:
var test = 0;
$('#nav li').click(function(){
if(test == 0) {
$('ul', this).slideDown();
test = 1;
} else {
$('ul', this).slideUp();
test = 0;
}
});
这是你正在谈论的可以测试的开/关开关