【发布时间】:2016-02-25 16:48:31
【问题描述】:
我有一个包含两个类别的菜单:天气和雪。一个可见的图标和隐藏的弹出菜单。悬停或单击第一个 div 的图标后,它会显示第二个 div 弹出窗口。悬停在桌面设备上做出反应,在移动设备上点击它。
这是我的 jQuery 代码的一部分:
if ($(window).width() > 1025) {
$('.weather').hover(function(){
$('.weather-popup').addClass('side-open');
},function(){
$('.weather-popup').removeClass('side-open');
});
$('.snow').hover(function(){
$('.snow-popup').addClass('side-open');
},function(){
$('.snow-popup').removeClass('side-open');
});
}
if ($(window).width() < 1025) {
$('.weather').click(function(){
$('.weather-popup').toggleClass('side-open');
});
$('.snow').click(function(){
$('.snow-popup').toggleClass('side-open');
});
}
第一部分适用于桌面设备,效果很好,但我对第二部分有问题 - 移动设备。
在 iPad 上,当我触摸天气图标时,它会显示弹出部分,再次触摸天气图标后,弹出部分会隐藏。没关系,但是如果我触摸天气图标,然后触摸第二个菜单图标,在本例中为“雪”,它会显示雪弹出窗口,并且天气 div 的弹出部分保持打开状态。
我希望在触摸第二个类别时自动隐藏第一个类别。
同样,当触摸空白区域时,div 应该会自动隐藏。
请问,我怎样才能做到这一点?
【问题讨论】: