У меня есть список, например
Скопировать код
1. <ul id="applications">
2. <li id="id-1" class="util"></li>
3. <li id="id-1" class="app"></li>
4. <li id="id-1" class="util"></li>
5. <li id="id-1" class="app"></li>
6. </ul>
тогда я хочу выбрать некоторые из списка с некоторым эффектом анимации,
сначала исчезнут все элементы,
тогда элементы, которые я хотел бы отображать один за другим
код:
Скопировать код
1. $('#applications li').each(function (index) {
2. setTimeout(function (e) {
3. e.hide("slow");
4. }, index * 100, $(this));
5. });
6. $('#applications li[class="app"]').each(function (index) {
7. setTimeout(function (e) {
8. e.fadeIn("fast");
9. }, index * 100, $(this));
10. });
окончательный эффект - все элементы исчезнут первыми
но элемент, который я хотел, не будет отображаться? почему?
тогда я думаю об очереди, прежде чем использовать ее, я немного изменяю код:
Скопировать код
1. $('#applications li').each(function (index) {
2. setTimeout(function (e) {
3. e.hide("slow");
4. }, index * 100, $(this));
5. });
6. $('#applications li').each(function (index) {
7. setTimeout(function (e) {
8. e.fadeIn("fast");
9. }, index * 100, $(this));
10. });
отличие от предыдущего состоит в том, что $ ('# application li [class = "app"]') становится $ ('# application li') ,
эффект состоит в том, что все элементы исчезнут первыми,
тогда все будет отображаться снова без проблем!
почему это произошло? Есть ли способы решить проблему? Или добиться желаемого эффекта
Большое спасибо!!