2015-08-25 165 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