[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: jQuery несколько однородных объектов и
__romka_
У меня на странице несколько статических слоев. которые я показываю по нажатию на ссылки.

Код такой:

$(document).ready(function(){
$(".btn-slide-1").click(function(){
$("#panel-1").slideToggle("fast");
$(this).toggleClass("active");
});
});


Все работает. Но. у меня ссылок несколько и блоков соответствующих несколько. Для того чтобы все работало пришлось наплодить таких блоков кода в соответствии с количеством элементов управления.

$(document).ready(function(){
$(".btn-slide-2").click(function(){
$("#panel-2").slideToggle("fast");
$(this).toggleClass("active");
});
});


элементов всего - меньше десяти. Это количество постоянно (9) и изменяться не будет.

Первое что пришло в голову:

var i=1;
$(document).ready(function(){
if ($(".btn-slide-".*).click(function()) //под * имеется ввиду любое значение номера элемента
{
for (i=1; i<9; i++){
$("#panel-".i).slideToggle("fast");
$(this).toggleClass("active");
};
});
});


Поправьте, плиииииз.




Спустя 1 час, 23 минуты, 50 секунд (24.11.2010 - 18:09) Nikitian написал(а):

$(document).ready(function(){
for(var i=1;i<9;i++){
$(".btn-slide-"+i).click(function(){
$("#panel-"+i).slideToggle("fast");
$(this).toggleClass("active");
});
}
}
);

Спустя 2 минуты, 8 секунд (24.11.2010 - 18:11) vital написал(а):
$("div[class*=.btn-slide]").each(function()
{
$(this).click(function(){
$("#panel-"+$(this).attr('id')).slideToggle("fast");

})
})
А атрибуте id кнопки, храните номер панели, с которой надо делать действия. НО это не улчший вариант. Лучше нахожить требуемую панель через дом отностительно this

Спустя 15 часов, 58 минут (25.11.2010 - 10:09) __romka_ написал(а):
Nikitian
не совсем то получается.
При клике на любой ссылке (btn-slide), раскрывается всегда последний слой (panel).

Мне решение видится в использовании while т.к. в этом случае можно будет приращивать i только после действия.

Но главное - как узнать какую кнопку с каким номером нажади? ((((

то есть, подходит и for но нужно как то проверить совпал ли счетчик в цикле с нажатой кнопкой
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.