Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
Начитался про setTimeOut и setInterval - голова идёт кругом, а толку никакого :( Подскажите, как в чистом JS выполнить появление внутренних элементов заданного DIV'а с некоторой задержкой? Я пробовал вот такую конструкцию изобразить для этого: Код: javascript 1. 2. 3. 4. 5. Подскажите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 03:19 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
neznajka, попробуй промисы, возможно помогут иначе ни как.... я не смог добиться такого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 07:59 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяneznajka, попробуй промисы, возможно помогут иначе ни как.... я не смог добиться такого Эх, а писал, что какую-то там базу знаешь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 09:49 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
neznajka, вот Вам пример, где элементы по очереди показываются: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. http://plnkr.co/edit/UfUohJH7GROpJI79Eexx?p=preview Если уберёте из кода выделенный множитель (q + 1) , то все разом покажутся через 0.3 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 09:55 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
neznajka, а вот через setInterval: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. http://plnkr.co/edit/jq4W5vCYqjP1oPiVvI0T?p=preview ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 10:14 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, а ты путаешь понятия вывод в цикле и setTimeOut и setInterval . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 11:49 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, а ты путаешь понятия вывод в цикле и setTimeOut и setInterval . Не понимаю. Какую ты задачу себе придумал и не можешь решить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 11:56 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, когда у тебя происходит работа в цикле и результат необходимо выводить на каждом шаге этого цикла. проблема в том, что если в цикле поставить cjnsole.log('ля-ля') то это л-я-ля будет появляться на каждом шаге а если вывести на экран изменение какого-либо параметра изменение фона дивов по очереди, то этого не увидишь - измениея будут не на каждом шаге, а через непонятно какое время, и по скольку... если дебажить код - то всё произойдет как надо. js изменит отображаемое состояние dom, но это изменение не прорисуется на экране. поток выполнения js имеетбольший приоритет перед отображением . у меня есть реальный пример - загрузка нескольких картинок с локального диска - работа идет в цикле , на загрузку картинки требуется около секунды, но отображаются они произвольным образом, видимо во время когда система кэширует загруженное на диск. и setTimeOut и setInterval не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:09 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяу меня есть реальный пример - загрузка нескольких картинок с локального диска - работа идет в цикле , на загрузку картинки требуется около секунды, но отображаются они произвольным образом, видимо во время когда система кэширует загруженное на диск. и setTimeOut и setInterval не помогает а ты обрабатываешь событие окончания загрузки картинки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:15 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, когда у тебя происходит работа в цикле и результат необходимо выводить на каждом шаге этого цикла. проблема в том, что если в цикле поставить cjnsole.log('ля-ля') то это л-я-ля будет появляться на каждом шаге а если вывести на экран изменение какого-либо параметра изменение фона дивов по очереди, то этого не увидишь - измениея будут не на каждом шаге, а через непонятно какое время, и по скольку... если дебажить код - то всё произойдет как надо. js изменит отображаемое состояние dom, но это изменение не прорисуется на экране. поток выполнения js имеетбольший приоритет перед отображением . у меня есть реальный пример - загрузка нескольких картинок с локального диска - работа идет в цикле , на загрузку картинки требуется около секунды, но отображаются они произвольным образом, видимо во время когда система кэширует загруженное на диск. и setTimeOut и setInterval не помогает. Мда, давай ты не будешь мне рассказывать про поток выполнения, цикл событий (event loop) и прочее... Выше я привёл два рабочих примера со ссылками на plnkr.co, где можно посмотреть как появляются элементы. Какие конкретно проблемы ты видишь в моём коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:20 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, а давай ты не будешь городить тут ерунду. сравни время выполнения твоего цикла и время появления на экране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:25 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, а давай ты не будешь городить тут ерунду. сравни время выполнения твоего цикла и время появления на экране. А давай не будем переходить на личности. Есть задача, сформулированная ТС-ом, есть два решения от меня. Давай их и обсудим. Какие конкретно проблемы ты видишь в моих решениях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:32 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
Возможно ты прочитал лишь заголовок темы: "и снова про паузу в цикле". И рассуждаешь про себя как сделать паузу. Да? А я прочитал и первое сообщение, где ТС уточняет свою проблему: "Подскажите, как в чистом JS выполнить появление внутренних элементов заданного DIV'а с некоторой задержкой?". Вот появление элементов с задержкой я и показал на примерах выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:38 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, ТС надо в цикле поставить задержку. а не выполнить что-то отдельно , как это делают setTimeOut и setInterval. в твоих вариантах цикл пролетел, а потом начали выполняться setTimeOut и setInterval ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:40 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, ТС надо в цикле поставить задержку. а не выполнить что-то отдельно , как это делают setTimeOut и setInterval. в твоих вариантах цикл пролетел, а потом начали выполняться setTimeOut и setInterval Прости, но ты используешь странную терминологию. Что значит выполнить что-то отдельно? Отдельно от чего? Что значит в цикле поставить задержку? Ты таки хочешь поставить выполнение на паузу, то есть "усыпить" поток выполнения? Давай обратимся к документации, где я выделю одно слово несколько раз красным: WindowTimers.setTimeout() Краткое изложение Вызов функции или выполнение фрагмента кода после указанной задержки . Синтаксис Код: javascript 1. 2. где timeoutID - это числовой ID, который может быть использован позже с window.clearTimeout(). func - это функция, которую требуется вызвать после delay миллисекунд. code - в альтернативном варианте применения это строка, содержащая код, который вы хотите выполнить после delay миллисекунд (использовать этот метод не рекомендуется по тем же причинам, что и eval()) delay - задержка в миллисекундах (тысячных долях секунды), после которой будет выполнен вызов функции. Реальная задержка может быть больше; см. Notes ниже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:54 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадя, надеюсь ты прочитал вышенаписанное мной сообщение. И давай теперь обратимся к первому посту ТС-а: neznajka Начитался про setTimeOut и setInterval - голова идёт кругом, а толку никакого :( Подскажите, как в чистом JS выполнить появление внутренних элементов заданного DIV'а с некоторой задержкой ? И подумаем над тем, что возможно автор просто пытается сделать упражнение на использование setTimeout и setInterval :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 12:59 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, обратимся к коду ТС Код: javascript 1. 2. 3. 4. вставить паузу в цикле, т.е. остановить на время паузы выполнение. первое что приходит в голову setTimeOut и setInterval. но они здесь не помогут. они не остановят цикл. они запустятся после окончания работы цикла. да твои варианты отобразят появление с задержкой, но это будет уже после того как цикл завершится. а это уже может нарушить остальную логиу работы, как , к примеру , у меня с загрузкой картинок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:11 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяskyANA, обратимся к коду ТС Код: javascript 1. 2. 3. 4. вставить паузу в цикле, т.е. остановить на время паузы выполнение. первое что приходит в голову setTimeOut и setInterval. но они здесь не помогут. они не остановят цикл.А можешь объяснить зачем это нужно ТС-у? вадяда твои варианты отобразят появление с задержкойТо есть сделают ровно то, что нужно ТС-у. вадяно это будет уже после того как цикл завершится.У него в цикле что делается? Ровно одно: cel.children[q].style.display = 'block' . То есть именно эту строчку кода ТС хочет выполнить с задержкой. вадяа это уже может нарушить остальную логиу работы, как , к примеру , у меня с загрузкой картинок.Не стоит придумывать логику, которой нет. Но хорошо, третий вариант: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:25 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяа это уже может нарушить остальную логиу работы, как , к примеру , у меня с загрузкой картинок. ты понадеялся на то,что картинки будут поступать в порядке выдачи запросов на загрузку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:45 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
skyANA, последний вариант ТС может и устроит. но это костыль. в данном случае подошла б команда sleep :) если б такая была. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:50 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
Ого, тут баталии разгорелись! Даже и не предполагал :) В любом случае - спасибо всем за участливое отношение. И простите, что задержался с ответом - отсыпался после ночных "поединков" с непостижимой логикой синтаксиса JS :) Да, мне пригодятся изложенные тут способы решения (отдельное спасибо skyANA), но правильно заметил и вадя: я не достаточно чётко изложил цель своего вопроса. Исправляюсь - прилагаю тестовый упрощённый вариант своих файлов: это древовидный раскрывающийся список значений, он работает именно так, как мне и нужно - в каждый момент времени может быть открытой лишь ОДНА подгруппа. Код за основу взял отсюда и усовершенствовал для отображения лишь одной подгруппы. Обозначу этот вариант дерева как вариант №1 . Я просто хочу его ещё усовершенствовать, чтобы каждая подгруппа открывалась плавно. Как в этом варианте №2 (ближе к середине страницы, где дерево с пунктами "Программирование", "Верстка", "Дизайн"...). Сам этот вариант №2 с последней ссылки мне не удалось поместить в свой DIV: этот DIV у меня изначально скрытый (display: none), а когда я включаю его видимость (display: block), то вложенное в него дерево из варианта №2 становится сразу раскрытым во всех узлах :( Поэтому я от варианта №2 отказался, и решил адаптировать под себя именно вариант №1. И мне осталось лишь снабдить его плавностью раскрытия-закрытия. Вот и вся преамбула к моему вопросу в начале темы. Извините, если слишком запутанно изложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:50 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадяв данном случае подошла б команда sleep :) если б такая была. а ты догадываешься, почему её нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:54 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяа это уже может нарушить остальную логиу работы, как , к примеру , у меня с загрузкой картинок. ты понадеялся на то,что картинки будут поступать в порядке выдачи запросов на загрузку? мне надо чтоб при загрузке катринки отобразилась инфа о её загрузке. порядок не интересует. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 13:59 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
Изопропилвадяв данном случае подошла б команда sleep :) если б такая была. а ты догадываешься, почему её нет? дак я привел её только для пояснения логики..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 14:02 |
|
||
|
и снова про паузу в цикле :(
|
|||
|---|---|---|---|
|
#18+
вадядак я привел её только для пояснения логики..... тогда почему - костыль? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2016, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39346303&tid=1444903]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 179ms |

| 0 / 0 |
