我正在制作一个带有jQuery插件的书籍网站。每次单击链接时,书页都会切换到下一页,而.active类会从链接切换。问题是如果你在页面之间快速点击,活动类会切换,但书的移动速度太慢,所以你不要跳到下一页。
我在点击一个链接后尝试禁用该链接。我的想法就是像这样删除一个属性几秒钟:
$('.button').click(function(e){
.. switch page using id
.. switch .active
$(".button li a").removeAttr("id");
}
因此,当加载页面时,切换活动类。在重新打开属性之前,U无法单击其他链接。
如何删除属性几秒钟?或者是否有其他选项可以在不删除属性的情况下禁用链接一段时间?
答案 0 :(得分:1)
如果操作已在进行中,那么实现此目的的一种简单(但有点hacky)的方法是尽早返回处理程序:
var pageIsTurning = false;
$('.button').click(function(e){
if (pageIsTurning) { return; }
// do your stuff and change the page
}):
根据小册子插件的docs,您可以绑定bookletstart
和bookletchange
事件,这些事件是您更新pageIsTurning
变量的地方。
$(".selector").bind("bookletstart", function(event, data) {
pageIsTurning = true;
});
$(".selector").bind("bookletchange", function(event, data) {
pageIsTurning = false;
});
请注意,如果您在页面上有多个小册子但可以轻松修改此方法,则此方法无效。