Некорректная работа 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, время: 23:39. |