2012-11-15 113 views
1

是否有一種方法可以禁用另一個鏈接,通過切換功能重新啓用它們。禁用其他鏈接的JQuery切換

這是我的腳本到目前爲止。我想在點擊「娛樂」時禁用「軍事」,但當切換返回時,請重新啓用鏈接。

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

}); 


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

}); 

有沒有辦法做到這一點?

+0

「切換返回」將如何?通過點擊sourceElement或再次點擊它們或其他? –

+0

我不認爲你可以禁用鏈接...可能會重置href應該有幫助...另外你是什麼意思切換返回? –

+0

嘿馬特,我有一個解決方案,你... – VIDesignz

回答

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); 
      } 
     }); 
} 
+0

好吧,所以這是一個很好的開始,但是,你認爲這是一種同時開放軍事和關閉娛樂的方式,反之亦然? –

+0

@MattJameson是的,但你需要禁用鏈接? – VIDesignz

+0

不,你不會但這是有益的,雖然如此謝謝。 –