|
|
|
[jQuery] проблема с анимацией/очередью
|
|||
|---|---|---|---|
|
#18+
Всем привет, Есть следующая проблема. На странице 31 <div>, изначально они скрыты (display: none). Запускается функция отображения дивов, функция генерит строки селекторов, для отображения дивов. Выглядит это так Код: javascript 1. 2. 3. 4. 5. 6. 7. эффект отображения взят в [] потому как он может быть разным. Перед тем как отобразить дивы выбранные указанным селектором, делается задержка, после этого происходит отображение заданным эффектом. После отображения дергается функция которая прячет эти дивы. Функция так же генерит селекторы. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Эффект для скрытия дивов используется один и тот же в отличии от функции отображения. Как видно из кода выше, код отображения и код скрытия разный в итоге. Но на деле происходит следующее: - Дивы отобразились, - Дивы скрылись, и порядок выполнения скрытия дивов был как порядок их отображения, но наоборот. Т.е. к примеру отображение происходило по следующей очереди индексов дивов: 1,3,5,2,6,8,4,9,7,10 , а скрытие произошло наоборот 10,7,9,4,8,6,2,5,3,1 , хотя должно было произойти по другой очереди, к примеру 5,1,6,2,4,3,8,9,7,10 . Такое ощущение, что в jQuery после анимации элементы остаются висеть в его очереди, и когда поступает команда на анимацию элемента, жквери анимирует эту очередь с конца. Как можно было бы достичь желаемого эффекта, т.е. чтобы нормально отрабатывал код скрытия элементов после того как был применен эффект появления дивов? Пример как оно отрабатывает: http://jsfiddle.net/nMp3c/4/ А вот как оно должно отрабатывать если дивы были видны и к ним не была применена jquery анимация: http://jsfiddle.net/8EcEt/1/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 18:06:51 |
|
||
|
[jQuery] проблема с анимацией/очередью
|
|||
|---|---|---|---|
|
#18+
C animate будет такой же эффект http://jsfiddle.net/mwyCm/ но если задействовать коллбек в анимэйт то отработает нормально http://jsfiddle.net/c2HpD/ но к сожалению мне не подходит использование коллбеков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 19:10:10 |
|
||
|
[jQuery] проблема с анимацией/очередью
|
|||
|---|---|---|---|
|
#18+
eliotikТакое ощущение, что в jQuery после анимации элементы остаются висеть в его очереди, и когда поступает команда на анимацию элемента, жквери анимирует эту очередь с конца.а давайте туда заглянем Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: javascript 1. 2. у каждого дива своя очередь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 23:50:38 |
|
||
|
[jQuery] проблема с анимацией/очередью
|
|||
|---|---|---|---|
|
#18+
Паганель Код: javascript 1. 2. Код: javascript 1. 2. у каждого дива своя очередь т.е. после шоу для каждого дива почистить очередь? пробовал сделать чтото типа такого: Код: javascript 1. 2. 3. 4. но когда дело доходит до хайда, то ничего не происходит. очередь у дива перед анимацией хайда пустая, но фейдаут не выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 11:27:20 |
|
||
|
[jQuery] проблема с анимацией/очередью
|
|||
|---|---|---|---|
|
#18+
eliotikт.е. после шоу для каждого дива почистить очередь?да нет я бы создал свою очередь и пихал туда все действия Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. но это я мало еще работал с анимацией (как-то редко надобится) поищите все-таки еще в инете, может, есть более правильные подходы для решения этой проблемы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 11:55:55 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=37835456&tid=1449704]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
186ms |
get topic data: |
8ms |
get forum data: |
5ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 504ms |

| 0 / 0 |
