Анимация для onclick on submit button работает только в FF (не IE и не OP)

StackOverflow https://stackoverflow.com/questions/336845

  •  22-07-2019
  •  | 
  •  

Вопрос

Кто-нибудь знает, почему следующий код действует только в FF?

$(document).ready(function() {
    $('#powerSearchSubmitButton').click(function() {
        startLoad();
    });
});

function startLoad() {
    $('.message').each(function(i) {
        $(this).animate({ opacity: 0 }, 500);           
    });
};
Это было полезно?

Решение

***Обновление****

Пример здесь http://pastebin.me/4937b07714655 из 1 варианта, который заключается в том, чтобы вести подсчет сообщений и запускать обратный вызов анимации только для последнего сообщения.


почему бы вам не вернуть false из click или event.preventDefault() и в обратном вызове анимации не отправить форму

$(document).ready(function() {
    $('#powerSearchSubmitButton').click(function(ev) {
        startLoad();
        ev.preventDefault();
    });
});

function startLoad() {
    var $messages=$('.message');
    var count=$messages.length -1;
    $messages.each(function(i) {
       $(this).animate({ opacity: 0 }, 500, i == count ? submitForm:null);           
    });
};

function submitForm(){
     $('#yourForm').submit();
}

Другие советы

Попробуйте добавить 'return false;' к вашей функции клика. Я установил демонстрацию на своем сайте и он отлично работает в IE6 и Opera.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top