禁用链接几秒钟

时间:2014-03-05 14:53:01

标签: javascript jquery html

我正在制作一个带有jQuery插件的书籍网站。每次单击链接时,书页都会切换到下一页,而.active类会从链接切换。问题是如果你在页面之间快速点击,活动类会切换,但书的移动速度太慢,所以你不要跳到下一页。

我在点击一个链接后尝试禁用该链接。我的想法就是像这样删除一个属性几秒钟:

$('.button').click(function(e){

    .. switch page using id
    .. switch .active

    $(".button li a").removeAttr("id");
}

因此,当加载页面时,切换活动类。在重新打开属性之前,U无法单击其他链接。

如何删除属性几秒钟?或者是否有其他选项可以在不删除属性的情况下禁用链接一段时间?

1 个答案:

答案 0 :(得分:1)

如果操作已在进行中,那么实现此目的的一种简单(但有点hacky)的方法是尽早返回处理程序:

var pageIsTurning = false;
$('.button').click(function(e){
    if (pageIsTurning) { return; }

    // do your stuff and change the page

}):

根据小册子插件的docs,您可以绑定bookletstartbookletchange事件,这些事件是您更新pageIsTurning变量的地方。

$(".selector").bind("bookletstart", function(event, data) {
    pageIsTurning = true;
});

$(".selector").bind("bookletchange", function(event, data) {
    pageIsTurning = false;
});

请注意,如果您在页面上有多个小册子但可以轻松修改此方法,则此方法无效。