[英]JQuery stop show/hide on click
我有一个代码段,当您单击菜单项时会显示一个div,此空间上有不同的div,菜单的作用是隐藏之前存在的div并显示新的div,问题是当我单击菜单项时在同一菜单项中它再次显示当前div,而我想阻止该事件发生,它应该仅在不是当前动画的情况下显示动画,否则就不显示任何动画。
这是代码片段:
var curPage="";
$("#menu a").click(function() {
if (curPage.length) {
$("#"+curPage).hide("slide");
}
curPage=$(this).data("page");
$("#"+curPage).show("slide");
});
这是它现在如何发生的演示: https : //jsfiddle.net/Lfsvc1ta/
只需添加其他检查,以查看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;
}
});
您必须检查上一页是什么,并添加一个变量。
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");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.