2015-08-25 68 views
0

我正在創建按鈕來最小化/恢復/全屏div。我有三個按鈕,一個用於最小值,還原/最大值和關閉。關閉工作正常,但最小和恢復按鈕的行爲很有趣。當我點擊恢復時,最小按鈕變大,最小化。HTML按鈕一次點擊兩個...如何防止

<div id='<%= request.getParameter("id") %>' class='window'> 
    <div id='header' class='header'> 
     <label id='title'><%= request.getParameter("title") %></label> 
     <label> 
      <button id='resotre' onclick='JavaScipt:Minimize<%= request.getParameter("id") %>();'>&#95;</button> 
      <button id='resotre' onclick='JavaScipt:Restore<%= request.getParameter("id") %>();'>&Dagger;</button> 
      <button id='close' onclick='JavaScript:Close<%= request.getParameter("id") %>();'>X</button> 
     </label> 
    </div> 
    <div id='content' class='content'> 

    </div> 
    <div id='footer' class='footer'> 

    </div> 
</div> 

<script> 
function Minimize<%= request.getParameter("id") %>() 
{ 
    if (minimized == false) 
    { 
     orig_width = $("#<%= request.getParameter("id") %>").width(); 
     orig_height = $("#<%= request.getParameter("id") %>").height(); 

     $("#<%= request.getParameter("id") %>").width(200); 
     $("#<%= request.getParameter("id") %>").height(30); 

     minimized = true; 
    } 
} 

function Restore<%= request.getParameter("id") %>() 
{ 
    if (minimized == true) 
    { 
     $("#<%= request.getParameter("id") %>").width(orig_width); 
     $("#<%= request.getParameter("id") %>").height(orig_height); 

     minimized = false; 
    } 
} 

function Close<%= request.getParameter("id") %>() 
{ 
    $("#<%= request.getParameter("id") %>").remove(); 
    RemoveID(<%= request.getParameter("id") %>); 
} 
</script> 

回答

0

您的其中兩個按鈕具有相同的ID:

<label> 
    <button id='resotre' onclick='JavaScipt:Minimize<%= request.getParameter("id") %>();'>&#95;</button> 
    <button id='resotre' onclick='JavaScipt:Restore<%= request.getParameter("id") %>();'>&Dagger;</button> 
    <button id='close' onclick='JavaScript:Close<%= request.getParameter("id") %>();'>X</button> 
</label> 

前兩個按鈕都具有ID 'resotre'。將其中一個改爲'最小化'(按照您當前的約定),並且這應該按照您的預期行事。

<label> 
    <button id='minimize' onclick='JavaScipt:Minimize<%= request.getParameter("id") %>();'>&#95;</button> 
    <button id='resotre' onclick='JavaScipt:Restore<%= request.getParameter("id") %>();'>&Dagger;</button> 
    <button id='close' onclick='JavaScript:Close<%= request.getParameter("id") %>();'>X</button> 
</label> 
+1

哈哈jeebas。謝謝。 – GFocus

0

您已將「還原」和「最小化」按鈕設置爲相同的HTML ID。您的文檔中的ID應該是唯一的。

0

問題是將按鈕存儲在標籤中。不知道爲什麼,但我將其更改爲內嵌塊div,並修復它。

 <div class='buttons'> 
      <button id='minimize' onclick='JavaScipt:Minimize<%= request.getParameter("id") %>();'>&#95;</button> 
      <button id='resotre' onclick='JavaScipt:Restore<%= request.getParameter("id") %>();'>M</button> 
      <button id='close' onclick='JavaScript:Close<%= request.getParameter("id") %>();'>X</button> 
     </div> 
+0

嗯,不......你在問題中描述的問題是因爲兩個按鈕有相同的ID。把他們放在一個div中仍然會遇到同樣的問題。 –

+0

不,這是修復。點擊與Id沒有任何關係,但擁有獨特的Id是很好的做法。 – GFocus