如何使这个jQuery函数进入.click()

时间:2010-11-08 05:52:30

标签: jquery

我不明白,我想要做的不是当它的加载进行打字时,但是当我点击链接时它开始输入。这是如何工作的?

var text = "The quick fox jumped over the lazy dog.";
var charCount = text.length;
var currentLetterCount = 0;
var speed = 100; // How fast should it type?
var $input = $(".some-textbox");

function writeLetter() {
    var currentText = $input.val();
    var currentLetter = text.charAt(currentLetterCount);
    currentLetterCount++;
    $input.val(currentText + currentLetter);
    if(currentLetterCount == charCount)
        clearInterval(timerId);
}

var timerId = setInterval(writeLetter, speed);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<input type="text" style="width: 500px" class="some-textbox" />

和jsfiddle:http://jsfiddle.net/7K3UE/

4 个答案:

答案 0 :(得分:4)

您只需要在.click()处理程序中启动计时器,而不是直接在document.ready处理程序中启动计时器,如下所示:

$(".some-link").click(function() {
  timerId = setInterval(writeLetter, speed);
});

You can test it here

答案 1 :(得分:1)

您只需将触发器置于onclick事件或类似事件中:

function startTyping() {
var timerId = setInterval(writeLetter, speed);
}

<input type="button" value="Start Animation" onclick="startTyping();">A Link</a>

那是否接近你所追求的目标?

答案 2 :(得分:1)

您需要(阅读|查找|搜索)onclick事件;因为您正在使用jQuery,所以您应该查看click事件。

答案 3 :(得分:1)

更新此网址http://jsfiddle.net/7K3UE/12/

上的代码

补充说:

$("#lnkClick").bind("click",function(){
    var timerId = setInterval(writeLetter, speed);
})