在Jquery中设置Interval

时间:2014-02-15 14:47:19

标签: jquery

我有一个按钮和文本框,如下所示:

<button type="submit" id="go" style="width: 20px; height: 30px;"></button>
<input type="text" id="txt" />

我想编写一个脚本,当我在文本框中编写一个数字并单击按钮时,它会每隔5秒向mynumber(我在文本框中写入)添加一个。我写了这个脚本,但它不起作用!问题是什么? 我的剧本:

$("document").ready(
        function () {
            $("#go").click(
                function () {
                    setInterval(
                        function () {
                            var values = $("txt").text();
                            values = values + 1;
                            $("txt").html(values);
                        }, 400);
                });
        });

4 个答案:

答案 0 :(得分:3)

如下所示,问题很少

//it is document not 'document'
$(document).ready(function () {
    var timer;
    $("#go").click(function () {
        clearInterval(timer);
        timer = setInterval(function () {
            //use id selector and .val() to get the value
            var values = $("#txt").val();
            //parse the string to int before adding 1
            values = parseInt(values) + 1;
            $("#txt").val(values);
        }, 5000); //5 seconds is 5000 milli seconds
    });
});

演示:Fiddle

答案 1 :(得分:2)

你应该改变:

  • $("txt")$("#txt")
  • $("txt").text();$("txt").val();
  • $("txt").html(values);$("txt").val(values);

纠正JSFiddle:http://jsfiddle.net/maximgladkov/eMbxp/

答案 2 :(得分:1)

使用

$("#txt").val() 

而不是

$("txt").text()

答案 3 :(得分:1)

使用此: 它的运行:

$("document").ready(
    function () {
        $("#go").click(
            function () {
                setInterval(
                    function () {
                        var values = $("#txt").val();  //use .val() to take data from input element.
              values = Number(values)+1;    //var is not a integer so you have to put ,it inside a Number() 
                        $("#txt").val(values); // use Id selector ' # ' in jQuery to select a element.
                    }, 5000);
            });
    });