2012-07-02 56 views
0

我readed走到低谷所有的例子上: - http://fancyapps.com/fancybox/的fancybox V2 - 登錄框

沒有什麼可以幫我製作一個彈出登錄框。

我已經檢查了舊版本的Fancybox 1.3.x,它有一個登錄框的例子,但是這個方法在新的Fancybox v2上並沒有真正的工作。

如果有人能幫助我,我會很高興。

到目前爲止,我有這個代碼,它是半工作:

$("#top-login-button").click(function() { 
     $.fancybox.open({ 
      href : "#login_form", 
      padding : 0, 
      onClosed : function() { 
        $("#login_error").hide(); 
      } 
     }); 
    }); 

    $("#login_form_ajax").bind("submit", function() { 

     if ($("#login_name").val().length < 1 || $("#login_pass").val().length < 1) { 
      $("#login_error").show(); 
      return false; 
     } 

     $.fancybox.showActivity(); 

     $.ajax({ 
      type  : "POST", 
      cache : false, 
      url  : "/login.php", 
      data  : $(this).serializeArray(), 
      success: function(data) { 
       $.fancybox(data); 
      } 
     }); 

     return false; 
    }); 

回答

5

對於V2.X這會工作(注意,我評論了哪些選項進行更改)

$(document).ready(function() { 
$("#top-login-button").click(function() { 
    $.fancybox({ 
    href : "#login_form", 
    padding : 0, 
    // it was onClosed for v1.3.4 
    afterClose : function(){ 
    $("#login_error").hide(); 
    } 
    }); // fancybox 
}); //click 

$("#login_form_ajax").bind("submit", function() { 
    if ($("#login_name").val().length < 1 || $("#login_pass").val().length < 1) { 
    $("#login_error").show(); 
    $.fancybox.update(); // it was $.fancybox.resize(); for v1.3.4 
    return false; 
    } 
    $.fancybox.showLoading(); // it was $.fancybox.showActivity(); for v1.3.4 
    $.ajax({ 
    type : "POST", 
    cache : false, 
    url : "/login.php", 
    data : $(this).serializeArray(), 
    success: function(data) { 
    $.fancybox(data); 
    } 
    }); 
    return false; 
}); // bind 
}); // ready 

更新(2012年8月10日):爲懷疑者添加了DEMO

+0

它根本不起作用。 –

+4

@MarekBar:「它根本不能工作」和「我無法工作」之間有很大的區別。如果你要發表這樣的聲明,確保你能證明它,否則不要害怕尋求幫助。我添加了與上面完全相同的代碼的DEMO ...查看我編輯的答案。 – JFK

+0

好評JFK - 和friggeen真棒演示 - 現在就使用它! +1 – nicorellius

0

在您的代碼中,您需要將href : "#login_form"更改爲href : "#login_form_ajax"