Некорректная работа slideUp и slideDown
Есть небольшой html к которому подручены 2 функции.
1-показывает все необходимые блоки - slideDown(); 2-скрывает все все эти блоки - slideUp(); Проблема в том, что если нужные блоки находятся в скрытых блоках - например - <div hidden><div hidden class="нужный блок"></div></div> то для них 1-я функция работает нормально. в этих невидимых блоках - они становятся видимыми. Но вот 2-я функция наотрез отказывается работать. если блок в котором находится нужны элемент скрыт - slideUp нужные блоки игнорирует, если блок открыт, то все нормально. Как можно эту проблему поправить? вместо slideUp() применял hide(). Эффект то же. вот пример кода.
function show_edit_firm(){
$('.edit_firm_inp,.edit_block,.firm_info').each(function(){
$(this).slideDown('500');
})
}
function hide_edit_firm(){
$('.edit_firm_inp,.edit_block,.edit_block:hidden').each(function(){
$(this).slideUp('500');
})
$('.firm_info').each(function(){
if($(this).html()==' : ')
$(this).slideUp();
})
}
|
Не знаю, но я такого никогда не видел "<div hidden>" :)
Мб в css прописать будет лучше? |
ну div hidden - это тоже самое что и display:none.
В общем проблему решил очень топорным методом :(
function hide_edit_firm(){
$('.fil_dop_info').each(function(){ //открывает все блоки, где находятся нужны элементы которые нужно скрыть.
$(this).show();
})
$('.edit_firm_inp,.edit_block').each(function(){
$(this).slideUp(); // скрывает элементы edit_firm_inp которые находятся внутри блоков fil_dop_info
})
$('.fil_dop_info').each(function(){ //скрывает все блоки, обратно, в который производилось предыдущее действие.
$(this).hide();
})
}
|
но справедливости ради могу сказать что $(this).css('display','none') проблему решает в миг, но собственно задумка всей анимации slideUp пропадает.
|
не понятно зачем здесь each
все эти методы итак работают для всего набора элементов элемент находящийся внутри скрытого элемента тоже будет скрыт и действия над ним будут также не видны, если правильно понял вашу проблему и преиведите также пример HTML-кода, с которым работает скрипт |
| Часовой пояс GMT +3, время: 05:27. |