2014-10-18 41 views
0

我有,通過此鏈接激活一個浮動層:打開和關閉浮動層相同的鏈接?

<a href="javascript:ToggleFloatingLayer('FloatingLayer',1);"> BUTTON </a> 

這就是浮動層:

<div id="FloatingLayer"> 
      <div id="closeX"> <a href="#" onClick="ToggleFloatingLayer('FloatingLayer',0);return false">x</a> 
      </div> 

腳本:

<script language="JavaScript1.2"> 

     function ToggleFloatingLayer(DivID, iState) // 1 visible, 0 hidden 
     { 
     if(document.layers) //NN4+ 
     { 
      document.layers[DivID].visibility = iState ? "show" : "hide"; 
     } 
     else if(document.getElementById)  //gecko(NN6) + IE 5+ 
     { 
      var obj = document.getElementById(DivID); 
      obj.style.visibility = iState ? "visible" : "hidden"; 
     } 
     else if(document.all) // IE 4 
     { 
      document.all[DivID].style.visibility = iState ? "visible" : "hidden"; 
     } 
     } 
    </script> 

我想要的 「按鈕」打開並關閉這個浮動層。所以它打開並關閉在同一個鏈接。但現在我只能通過「closeX」x關閉它。我該怎麼做?

+0

使用jQuery它很容易讓你管理跨瀏覽器問題 – 2014-10-18 21:23:15

回答

1

jQuery是標準的跨瀏覽器的,功能豐富的JavaScript庫
學習,並在你的應用程序中使用jQuery是跨所有業務應用程序 下面是API鏈接和學習網站

片斷如下爲你

<!DOCTYPE html> 
<html> 

<head> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <script> 
    function toggleFloatingLayer(divID) { 
     $("#" + divID).toggle();//its only single line to manage toggling for all browsers 
    } 
    </script> 
</head> 

<body> 

    <a href="#" onclick="toggleFloatingLayer('FloatingLayer')"> BUTTON </a> 

    <div id="FloatingLayer" style="display:none;border:solid 2px silver;"> 
    <div id="closeX" style="background:#efefef"> <a href="#" onClick="toggleFloatingLayer('FloatingLayer')">x</a> 
    </div> 
    <div> 
     Test content of Floating layer 
    </div> 
    </div> 

</body> 

</html> 
+0

請不要使用那樣的jQuery。瞭解[委託事件](http://learn.jquery.com/events/event-delegation/)以及如何使用它解耦您的視圖和應用程序邏輯! – nietonfir 2014-10-19 12:29:25

+0

@nietonfir謝謝你的通知:)並且我喜歡活動授權功能。僅供參考...在上面的代碼片段中,沒有使用jQuery完成事件附件。示例的目的是以最小的努力解決問題並引入jQuery。 – 2014-10-19 20:03:29