我不明白,我想要做的不是当它的加载进行打字时,但是当我点击链接时它开始输入。这是如何工作的?
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/
答案 0 :(得分:4)
您只需要在.click()
处理程序中启动计时器,而不是直接在document.ready
处理程序中启动计时器,如下所示:
$(".some-link").click(function() {
timerId = setInterval(writeLetter, speed);
});
答案 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);
})