2013-03-07 40 views
0

我終於修復了我在AJAX和jQuery模態框中遇到的問題。jQuery特效:當模式框打開並關閉時

現在我只想添加典型效果......但我不知道代碼。

效果之一:模態對話框打開的時候,我想「背景」褪色

效果二:當你點擊X關閉對話框,我希望它慢慢淡出

看:

<script src="js/simplemodal.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('#message-sent').hide(); 
     $('#contact-form').submit(function() { 
      $.ajax({ 
       type: "POST", 
       url: $(this).attr('action'), 
       data: $(this).serialize(), 
       success: function() { 
        $("#message-sent").modal({ 
         onOpen: function(dialog) { 
          dialog.overlay.fadeIn('slow', function() { 
           dialog.container.fadeIn('slow', function() { 
            dialog.data.fadeIn('slow'); 
           }); 
          }); 
         }, 
         onClose: function (dialog) { 
          dialog.data.fadeOut('slow', function() { 
           dialog.container.fadeOut('slow', function() { 
            dialog.overlay.fadeOut('slow', function() { 
             $.modal.close(); 
            }); 
           }); 
          }); 
         }, 
         closeClass: 'close-btn' 
        }); 
       } 
      }); 
      $('#contact-form')[0].reset(); 
      return false; 
     }); 
    }); 
</script> 

回答

0

什麼你看是使用內置SimpleModal的選項來達到你所需要的。

這部分代碼:

success: function() { 
    $("#message-sent").fadeIn().modal({ 
     closeClass: 'close-btn' 
    }); 
} 

應修改爲使用由SimpleModal提供的內置結構,啓動模式對話框。該dialog.overlay.fadeIn()是你在找什麼,在做背景褪色:

success: function() { 
    $("#message-sent").modal({ 
     onOpen: function(dialog) { 
      dialog.overlay.fadeIn('slow', function() { 
       dialog.container.fadeIn('slow', function() { 
        dialog.data.fadeIn('slow'); 
       }); 
      }); 
     } 
    }); 
} 

至於關閉模式對話框,你可以調用$.modal.close();關閉模式對話框,或指定一個simplemodal-close類到你希望的任何元素在點擊時允許模式框關閉。 SimpleModal會自動將關閉操作綁定到它們。

您也可以動畫添加到收盤時,使用以下:

onClose: function (dialog) { 
    dialog.data.fadeOut('slow', function() { 
     dialog.container.fadeOut('slow', function() { 
      dialog.overlay.fadeOut('slow', function() { 
       $.modal.close(); 
      }); 
     }); 
    }); 
} 
+0

大。我編輯了代碼。你唯一想念的是「後背變黑」(我不知道如何提高它)。然而,自從你做了75%的問題之後,我給了你答案)但是試着幫助我解決這個問題。謝謝。 – 2013-03-07 02:15:25

+0

很高興能有所幫助。我不確定你的意思是「背部變暗」。我假設你正在嘗試編輯疊加層的顏色?如果是這樣,請嘗試以下CSS:'.simplemodal-overlay {background:rgba(0,0,0,0.75); }' – Snikrs 2013-03-07 02:23:03

+0

真棒;)這就是我的意思。謝謝 – 2013-03-07 17:36:24

相關問題