2016-05-17 29 views
0

彈出窗口顯示的覆蓋不刪除, 我寫javascript和它的按鈕代碼 plz幫助我關閉彈出窗口覆蓋後,因爲它是我想要收盤後刪除它

<script type='text/javascript'> 

    $(function() { 

     var overlay = $('<div id="overlay"></div>'); 

     $('#Button1').click(function() { 


      overlay.fadeIn(1000); 
      overlay.appendTo(document.body); 
      $('#popup').fadeIn(1000); 
     } 
     ); 

     $('.close').click(function() { 
      $('.popup').hide(); 
      overlay.appendTo(document.body).remove(); 
      return false; 
     }); 

     $('.x').click(function() { 
      $('.popup').fadeOut(1000); 
      overlay.appendTo(document.body).remove(); 

      return false; 
     }); 

    }); 

和其他一些代碼

<div class="popup" id="Div1"> 
    <div class='cnt23'> 

     <img src="../images/Power-Shutdown-2.png" class='x' id='Img1' /> 
     <br /> 
     <br /> 
     <form action="" method="post"> 

     </form> 
    </div> 
</div> 

我怎麼可以去除覆蓋的密切彈出後顯示

回答

1

更新相同的是:

$('.close').click(function() { 
      $('.popup').hide(); 
      $('#overlay').remove() 
      return false; 
     }); 
1

你將其追加到文檔中的第二次,然後除去第二個:

overlay.appendTo(document.body).remove(); 

第一個不受影響。

如果疊加層已經在文檔上,那麼可以通過其id來引用它。事情是這樣的:

$('#overlay').remove(); 

你甚至可以刪除先前附加變量(沒有測試過這一點,但值得一試):

overlay.remove(); 

或許,在嘗試之前上面,更改變量當最初設置它被附加的那個(在$('#Button1').click

overlay = overlay.appendTo(document.body); 

如果這樣做(再次,沒有測試過,只是一個想法),那麼它將刪除需要使用主jQuery函數再次查詢文檔。

+0

感謝它的工作 –