эффект затухания не работает хорошо, когда вызывается внутри цикла for - PullRequest
0 голосов
/ 09 ноября 2011

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

У меня есть много div в списке.У каждого есть свой id.Есть кнопка для удаления выбранных div с, что-то вроде этого:

function int_groups_removeGroups(id) {
   $("#"+id).css("background-color","#FFABAB");
   $("#"+id).css("background-color","#FFABAB").fadeOut('slow');                                             
}                               

 groupsize = groupsArray.length;        
 for (i =0; i <= groupsize; i++) {
    int_groups_removeGroups("group_"+groupsArray[i]);
 }

Все работает, кроме эффекта fadeout.Происходит следующее: когда я нажимаю на кнопку, чтобы удалить, div s мигает красным, а затем исчезает.

1 Ответ

0 голосов
/ 09 ноября 2011

Вы делаете много.Этих двух строк должно быть достаточно:

var groupids = '#group_' + groupsArray.join(', #group_');

$(groupids).css("background-color","#FFABAB").fadeOut('slow');                                             

Первая строка содержит строку ваших идентификаторов, вторая передает ее в jQuery, который постепенно исчезает.

Если вы все еще испытываете производительностьпроблемы, тогда вы анимируете слишком много div'ов параллельно.

...