Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите пожалуйста останавливать interval и запускать заново (https://javascript.ru/forum/misc/43587-pomogite-pozhalujjsta-ostanavlivat-interval-i-zapuskat-zanovo.html)

Faab 12.12.2013 17:03

console.log(fSliderTimer);


И почему при каждом клике, число число таймеров увеличивается в двое? Таймер же один! И он удаляется с clearInterval() или нет?

Код:

The clearInterval() method clears a timer set with the setInterval() method.

The ID value returned by setInterval() is used as the parameter for the clearInterval() method.


animhotep 12.12.2013 17:06

danik.js,
понятно
Faab,
при каждом запуске ложи id в массив... в примере это timers[i] = setInterval(function() {

рони 12.12.2013 18:10

Faab,
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="UTF-8">
  <title>Interval</title>
  <style type="text/css">
    span{
     display: inline-block;
     width: 20px;
     text-align: center;
    }
    .spanAvtive {
      border: 3px red solid;
    }
  </style>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  <script>
$(window).load(function () {
    function b() {
        window.clearTimeout(d);
        c[a].removeClass("spanAvtive");
        a = ++a % e;
        c[a].addClass("spanAvtive");
        d = window.setTimeout(b, 2E3)
    }
    var a = 10,
        c = Array(a),
        e = c.length;
    $.each(c, function (a, b) {
        c[a] = $("<span/>", {
            text: a
        }).appendTo(".b-container")
    });
    a--;
    b();
    var d = window.setTimeout(b, 2E3);
    $(".eButtonNext").click(b);
    $(".eButtonStop").click(function () {
        window.clearTimeout(d)
    })
});  </script>
</head>
<body>

  <div class="b-container"></div>
  <div>
    <input type="button" value="next" class="eButtonNext" />
    <input type="button" value="stop" class="eButtonStop" />
  </div>

</body>
</html>

Faab 13.12.2013 16:34

Слушай, пусть это будет воспринято как прямая лесть, но вы ребята пишите шикарно.. смотрю на ваш код и понимаю как коряво я пишу свой код.


При переборе $.each(c, function (a, b) {}) функция b() вызывается или нет?


И первый раз вижу такой способ создания элемента:
$("<span/>", {text: a})

Можно ссылку на мануал, где описывается такой метод... Или такого в мануале не найти?

И вопрос про мой код: получается что моя ошибка была в том, что каждом при клике срабатывала строка 84
fTimerStart(eDiv, iIndexActive);

и строка 67
fTimerStart(eDiv, iIndexActive);



2E3 это просто 739?

danik.js 14.12.2013 03:11

Цитата:

Сообщение от Faab
Можно ссылку на мануал, где описывается такой метод

http://api.jquery.com/jquery/#jQuery-html-attributes

danik.js 14.12.2013 03:13

Цитата:

Сообщение от Faab
2E3 это просто 739?

В консоль вбей и увидишь что это.

ruslan_mart 14.12.2013 08:24

Цитата:

Сообщение от danik.js
2E3 это просто 739?

Это 2000

Faab 14.12.2013 19:10

Рони, спасибо. Только что я смог имплементировать твоё решение. Всё работает без задоринки. Спасибо.


Часовой пояс GMT +3, время: 03:09.