Последовательное выполнение событий в jQuery - PullRequest
0 голосов
/ 06 августа 2009

У меня есть небольшой кусочек jquery, где я прячусь и показываю div. После того, как оба события завершены, я выполняю несколько строк кода, который выглядит примерно так:

 $(".subFields").hide("slide", { direction: "up" }, 250, function() {           
            $(".subFields").show("slide", { direction: "up" }, 250, function() {                
                container.addClass("formfield");
                container.removeClass("formfieldCurrent");
                fillOpenFields($(this).val());           
            });
        });

Проблема в том, что код в событии show по какой-то причине входит в бесконечный цикл, любые идеи.

Ответы [ 3 ]

0 голосов
/ 06 августа 2009

Вы используете селектор классов, который может означать, что вы получаете несколько элементов, соответствующих. Прятки будут выполняться для каждого найденного элемента, поэтому это может объяснить, почему кажется, что происходит бесконечный цикл.

У вас есть несколько элементов с этим классом?

Можете ли вы вставить разметку и полный JS.

Также лучше попытаться использовать имя узла как часть селектора

например $('div.someClass');

в противном случае jQuery должен зациклить весь dom для проверки каждого элемента на соответствие классу вместо использования getElementsByTagName

0 голосов
/ 06 августа 2009

Проблема была в методе fillOpenFields, извините за неудобства

0 голосов
/ 06 августа 2009

На первый взгляд я не вижу проблемы. Что делает функция fillOpenFields?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...