Код такой:
$(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
{
$(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 но нужно как то проверить совпал ли счетчик в цикле с нажатой кнопкой
не совсем то получается.
При клике на любой ссылке (btn-slide), раскрывается всегда последний слой (panel).
Мне решение видится в использовании while т.к. в этом случае можно будет приращивать i только после действия.
Но главное - как узнать какую кнопку с каким номером нажади? ((((
то есть, подходит и for но нужно как то проверить совпал ли счетчик в цикле с нажатой кнопкой