JQuery Toggle禁用其他链接

时间:2012-11-15 22:57:41

标签: jquery

是否有办法禁用其他链接,使用切换功能重新启用它们。

到目前为止,这是我的脚本。当我点击'娱乐'时我想禁用'军事',但是当切换返回时我重新启用链接。

$("[href='#Entertainment']").click(function () {
$("#Entertainment").toggle("slow");

});


$("[href='#Military']").click(function () {
$("#Military").toggle("slow");

});

有没有这样做?

1 个答案:

答案 0 :(得分:1)

好的,我想出来了......

以下是一个工作示例FIDDLE

像这样设置你的html,给链接一个ID

<a id='Elink' href='#Entertainment'>Entertainment</a>
<a id='Mlink' href='#Military'>Military</a>
<div id='Entertainment'>EntertainmentContent</div>
<div id='Military'>Military Content</div>

然后在单击时,在切换发生后,回调函数检查相应的分隔符是否可见,如果是,则禁用另一个链接,如果不可见,则启用另一个链接

$("#Elink").on('click', eclick);    
$("#Mlink").on('click', mclick);


function mclick() {

        $("#Military").toggle("slow", function() {
            if ($("#Military").is(':visible')) {
                $("#Elink").attr('href', 'javascript:void(0);').off('click');
            } else {
                $("#Elink").attr('href', '#Entertainment').on('click', eclick);
            }
        });
}

function eclick() {
        $("#Entertainment").toggle("slow", function() {
            if ($("#Entertainment").is(':visible')) {
                $("#Mlink").attr('href', 'javascript:void(0);').off('click');
            } else {
                $("#Mlink").attr('href', '#Military').on('click', mclick);
            }
        });
}