misaqyrn9677 Ответов: 2

Я хочу изменить тайм-аут в setinterval javascript пользователем во время выполнения


Здравствуйте Дорогие Программисты
Я хочу изменить тайм-аут в SetInterval JavaScript пользователем во время выполнения
При Изменении Значения В Теге Ввода Html
Но Ниже Код Не Работает Верно
Пожалуйста, Помогите Мне
По Поводу Yarian


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="JS/jquery-2.1.3.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            
            var i = 0;
            var interval = 0;
            setInterval(function () {
                
                document.getElementById("WRDO").innerHTML = (i++).toString();
                
                document.getElementById("WRDO1").innerHTML = document.getElementById("DO").value.toString();
                
                interval = parseInt(document.getElementById("DO").value.toString());
                
                interval *= 1000;
                
            }, interval);
        });
    </script>
</head>
<body>
    <input type="text" id="DO" value="1" />
    <p id="WRDO"></p>
    <p id="WRDO1"></p>
</body>
</html>


Что я уже пробовал:

Здравствуйте Дорогие Программисты
Я хочу изменить тайм-аут в SetInterval JavaScript пользователем во время выполнения
Но Ниже Код Не Работает Верно
Пожалуйста, Помогите Мне
По Поводу Yarian

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробовать это

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head >
    <title></title>

    <script src="jquery-1.8.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function () { 
            funInterval();
        });
        var objInterval;
        function funInterval()
        {
            var i = 0;
            var num =  parseInt(document.getElementById("DO").value.toString());
            var interval =  num* 1000;
            objInterval = setInterval(function () {
                i++;
                document.getElementById("WRDO").innerHTML = i.toString();                 
                if(i  >= num )
                    clearInterval(objInterval);

            }, interval);
        }
        function changeInterval(obj)
        {
            var value = obj.value;
            clearInterval(objInterval);
            funInterval();
        }

    </script>
</head>
<body>
    <input type="text" id="DO" value="3" onchange="changeInterval(this);" />
    <p id="WRDO"></p>
    <p id="WRDO1"></p>
</body>
</html>


Рейтинг:
0

Peter Leow

Это полный бардак. Откуда у тебя этот код?
1. Он объявлен как HTML5 тип документа, но почему в то же время

<html xmlns="http://www.w3.org/1999/xhtml">

2.существует эта библиотека jQuery, но вы используете простой JS-код внутри метода jQuery document.ready ().
Не зачитал:
HTML учебник[^]; и
учебник по jQuery[^]
Возвращаясь к вашему вопросу, если вы хотите, чтобы какое-то действие произошло (например, изменение интервала значений в текстовом поле) после наступления какого-то события (например, изменение значения в текстовом поле), то вы должны сначала привязать это действие к этому событию. Как и сейчас, они не связаны. Проверить это:
Событие JS onchange[^]; или
jQuery. change()[^]
После того как вы обновили значение интервала, очистите текущий таймер, а затем запустите таймер с новым интервалом, как это сделать? Спросите У Google.