Javascript JQuery在单击时停止显示/隐藏
我有一个代码片段,当你点击菜单项时会显示一个div,这个空间中有不同的div,菜单所做的是隐藏之前的div并显示新的div,问题是当我点击同一菜单项时,它会再次显示当前div,我想阻止这种情况发生,它应该只显示动画,如果它不是当前的,如果它是什么都不应该发生 以下是代码片段:Javascript JQuery在单击时停止显示/隐藏,javascript,jquery,click,show,show-hide,Javascript,Jquery,Click,Show,Show Hide,我有一个代码片段,当你点击菜单项时会显示一个div,这个空间中有不同的div,菜单所做的是隐藏之前的div并显示新的div,问题是当我点击同一菜单项时,它会再次显示当前div,我想阻止这种情况发生,它应该只显示动画,如果它不是当前的,如果它是什么都不应该发生 以下是代码片段: var curPage=""; $("#menu a").click(function() { if (curPage.length) { $("#"+curPage).hide("slide"
var curPage="";
$("#menu a").click(function() {
if (curPage.length) {
$("#"+curPage).hide("slide");
}
curPage=$(this).data("page");
$("#"+curPage).show("slide");
});
下面是一个演示它是如何发生的:只需添加一个额外的检查,看看
curPage
是否与单击的页面相同
var curPage;
$("#menu a").click(function () {
var page = $(this).data("page");
if (curPage && page != curPage) {
$("#" + curPage).stop().hide("slide");
}
$("#" + page).stop().show("slide");
curPage = page;
});
演示:检查第一次单击的数据页
var curPage="";
$("#menu a").click(function() {
var newPage = $(this).data("page");
if (newPage !== curPage) {
$("#"+curPage).hide("slide");
$("#"+newPage).show("slide");
curPage = newPage;
}
});
您必须检查before页面是什么,添加一个变量
var curPage="";
$("#menu a").click(function() {
var page=$(this).data("page");
if (curPage!=page && curPage.length) {
$("#"+curPage).hide("slide");
curPage=$(this).data("page");
}
$("#"+curPage).show("slide");
});
就像这把小提琴一样你想这样吗?我单击同一链接后,它仍然会显示动画,我知道我听起来很困惑,谢谢你花时间回答!你想说什么?谢谢,其他答案也是对的,但我投票支持这一个,因为它还显示了.stop()函数,当我点击另一个链接时可以剪切动画,这真的很酷,我不知道,谢谢你的回答!这个答案也是正确的,谢谢你,它让我了解了如何处理这种情况,我完全忘记了,我对编程非常陌生,谢谢你花时间回答!