函数Show()第一次工作,第二次不工作。
此外,点击功能在firefox中根本不起作用。
我想要完成的是点击#showmenu,隐藏另一个showmenu2,这是一张图片并显示另一个div,之前用CSS显示隐藏了:none然后单击PANEL-CLOSE,它显示showmenu2再次隐藏另一个
$(document).ready(function () {
$('#jshowmenu').click(function () {
$('.jbox').show("slide");
// $('.jbox').css("display", "inline-block");
$('#jshowmenu2').hide();
});
$('.panel-close2').click(function () {
$('#jshowmenu2').toggle("slide");
$('.jbox').hide();
});
$('#jshowmenu2').click(function () {
// $('.jbox2').show("slide");
// $('.jbox2').css("display","block");
if ($('#jshowmenu').is(":visible"))
{
$('#jshowmenu').hide();
}
$('.jbox2').show("slide");
// $('.jbox2').toggle("slide");
});
$('.panel-close').click(function () {
$('#jshowmenu').toggle("slide");
$('.jbox2').hide();
});
});
答案 0 :(得分:0)
Jquery .show()
和.hide()
依赖于内联样式,这被称为bad practice most of the time。我建议创建一个隐藏元素的CSS类,例如.hidden { display: none; }
并使用.addClass('hidden')
和.removeClass('hidden')
代替。
您还可以将.is(":visible")
替换为.hasClass('hidden')
,以测试该元素当前是否可见。我建议使用数据属性而不是手动检查,但是你可能有这样做的具体原因。