我正在爲我的網絡應用程序的登錄頁面工作,而且我正在使用某種我構建的模式框。 它使用一些jQuery來顯示框本身和覆蓋。 在同一頁面上有3個模式框,每個框可以打開一個鏈接。jQuery動畫bug:重複
我的代碼工作得很好(即使它看起來很重[我不是一個贊成Javascript的人,但我總是儘可能地嘗試])。但是,當我關閉模式框時,疊加層按照其應該滑動的方向滑動,但動畫重複3次(可能是因爲3模式框的代碼)。
所以,我的代碼是完全網上有→http://graphix.net23.net/app/
這裏的的jsfiddle你玩:)→http://jsfiddle.net/EY59T/(錯誤是不是真的可見,你只能看到覆蓋需要一段時間才能脫身)
我已經試過.stop()函數。當你顯示第一個模態時,它解決了這個問題,但是當你點擊另一個模態時,疊加層不會到來。
看看我重碼:
// iOS Modal
$("a#modal-open").click(function() {
$("div#modal-ios").show("fade", 600);
$("div.modal-overlay").show("slide", 300);
$(".app h4").hide("fade", 300);
$("div.app").animate({backgroundPositionY:-120}, 600);
return false;
});
$("a#modal-done,div.modal-overlay").click(function() {
$("div#modal-ios").hide("fade", 600);
$("div.modal-overlay").hide("slide", 300);
$(".app h4").show("fade", 600);
$("div.app").animate({backgroundPositionY:0}, 600);
return false;
});
$(document).on('keydown', function (e) {
if (e.keyCode === 27) {
$("div#modal-ios,div.modal-overlay").hide("fade", 300);
$(".app h4").show("fade", 300);
$("div.app").animate({backgroundPositionY:0}, 600);
}
});
// END iOS Modal
// Android Modal
$("a#modal-open-android").click(function() {
$("div#modal-android").show("fade", 600);
$("div.modal-overlay").show("slide", 300);
return false;
});
$("a#modal-done,div.modal-overlay").click(function() {
$("div#modal-android").hide("fade", 600);
$("div.modal-overlay").hide("slide", 300);
return false;
});
$(document).on('keydown', function (e) {
if (e.keyCode === 27) {
$("div#modal-android,div.modal-overlay").hide("fade", 300);
}
});
// END Android Modal
// WP Modal
$("a#modal-open-wp").click(function() {
$("div#modal-wp").show("fade", 600);
$("div.modal-overlay").show("slide", 300);
return false;
});
$("a#modal-done,div.modal-overlay").click(function() {
$("div#modal-wp").hide("fade", 600);
$("div.modal-overlay").hide("slide", 300);
return false;
});
$(document).on('keydown', function (e) {
if (e.keyCode === 27) {
$("div#modal-wp,div.modal-overlay").hide("fade", 300);
}
});
// END WP Modal
它已經兩天,我正在努力呢,仍然無法找到一個有效的解決方案,幫我請:)
編輯:你可以關閉模式有三種不同的方式:點擊按鈕,點擊覆蓋或ESC鍵。請注意,該錯誤不會發生與ESC鍵。
它的功能完美,而且重量輕!感謝您分類一切!我的代碼很瘋狂。 –