setInterval не выйдет из цикла

The following JavaScript code takes randomly selected value from a array and types it in the input box. I've used jquery. I want to end setInterval "zaman2", so after It ends I can retype the next random string to the input box. But the loop doesn't end and gets stuck. How can I solve this? Link to jsFiddle: http://jsfiddle.net/AQbq4/4/

var dersler = [...very long list...];
var zaman = setTimeout(function() {
    var yeniDers = dersler[Math.floor(Math.random()*dersler.length)];
    sayac = 0;
    var zaman2 = setInterval(function() {
            var harf = yeniDers.slice(0,(sayac+1));
            sayac++;
            $('#main-search').attr('placeholder', harf).typeahead({source: dersler});
        if (sayac == yeniDers.length) {
            clearInterval(zaman2);
        }
    },450);
},2000);
0
nl ja de
Трудно сказать, что такое yeniDers , но вы уверены, что не хотите sayac> = yeniDirs.length ?
добавлено автор Explosion Pills, источник
Нет, я хочу избавиться от setInterval
добавлено автор Besir Kurtulmus, источник
yeniDers - это случайное выбранное значение из массива. Когда sayac == yeniDirs.length , цикл должен останавливаться.
добавлено автор Besir Kurtulmus, источник
Если я перемещаю sayac вне цикла setInterval , значение sayac никогда не достигнет значения yeniDers и цикл будет продолжаться навсегда.
добавлено автор Besir Kurtulmus, источник
@mplungjan. Запятая была ошибкой.
добавлено автор Besir Kurtulmus, источник
@THEtheChad вы можете найти значения в ссылке jsFiddle.
добавлено автор Besir Kurtulmus, источник
Что такое запятая после массива?
добавлено автор mplungjan, источник
Вы, вероятно, хотите setTimeout для этого?
добавлено автор elclanrs, источник
Каковы значения dersler?
добавлено автор THEtheChad, источник

1 ответы

Разве вы не имеете в виду

DEMO

var tId, tId2;
function show() {
    var ran = arr[Math.floor(Math.random()*arr.length)];
    cnt = 0;
    tId = setInterval(function() {
            var char = ran.slice(0,(cnt+1));
            cnt++;
            $( '#main-search' ).attr('placeholder', char);
        if (cnt == ran.length) {
            clearInterval(tId);
            tId2=setTimeout(show,2000);
        }
    },450);
}
show();
0
добавлено
Спасибо, я использовал измененную версию вашего кода.
добавлено автор Besir Kurtulmus, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском