Вот код, о котором идет речь:
$(".navItems>ul>li").live('click', function() {
var selectorID = $(this).attr('id');
$(".infoList").slideUp('fast', function(){
switchTabInfo(selectorID);
});
function switchTabInfo(selectorID){
var actionID = selectorID.substring(4);
actionID = "#" + actionID;
$(actionID).slideDown();
}
})
Короче говоря, у меня есть классы .infoList с именами идентификаторов, привязанными к идентификатору nav li.
Идентификатором этого списка может быть, например, nav_testsHistory. Со всеми полями содержимого, скрытыми по имени класса, этот javascript создает эффект слайда вверх-вниз.
Но третий блок контента мигает, как и второй после нажатия третьего блока. Он скользит вверх и вниз в течение второго ненужного времени.
Если я добавлю следующее предупреждение:
$(".navItems>ul>li").live('click', function(){
var selectorID = $(this).attr('id');
$(".infoList").slideUp('fast', function(){
switchTabInfo(selectorID);
alert('bubble');
});
Оповещение срабатывает 3 раза?!
Так что мое исследование заняло чтение о пузыре событий. Что я не могу найти, так это как проверить, был ли он уволен. Я не пытался установить входное значение val и выполнить tf-тест вокруг вложенного ползунка. Потому что это грубо.
Больше информации, весь приведенный выше код находится в функции, которая находится в функции init (), которая вызывается при готовности документа. Это единственный файл js, кроме jquery 1.3.2.
Что вы, ребята, думаете?