gpt4 book ai didi

javascript - 为什么这个函数在 jquery 1.9.1 中不再起作用?

转载 作者:行者123 更新时间:2023-11-29 16:16:23 24 4
gpt4 key购买 nike

我已经决定更新我所有的 jquery 以使用 jquery 1.9.1,但我可以找出为什么这个脚本停止工作。在所有其他 jquery 版本中工作正常。

// Typewriter function
$.fn.Typewriter = function Typewriter(opts) {
var $this = this,
defaults = {
animDelay: 50
},
settings = $.extend(defaults, opts);
var objDiv = document.getElementById(settings.div);
$.each(settings.text, function (i, letter) {
setTimeout(function () {
$this.html($this.html() + (letter != '\n' ? letter : '<br />'));

objDiv.scrollTop = objDiv.scrollHeight;
}, settings.animDelay * i);
});
};

// Call with
// $('#divID').Typewriter({animDelay: 10,text: 'text to animate', div: 'divID'});

$('#outputDiv').Typewriter({
animDelay: 10,
text: 'Why does this not work in jquery 1.9.1? :( ',
div: 'outputDiv'
});

下面包含 Js fiddle

http://jsfiddle.net/T2AJ5/

编辑:

使用 chrome 开发工具,我在控制台读取错误:

Uncaught TypeError: Cannot use 'in' operator to search for '42' in Why does this not work in jquery 1.9.1? :(

最佳答案

一个不使用$.each循环字符串。我怀疑它之前是否正常工作。要快速修复,请将其更改为 settings.text.split('')

顺便说一句,附加到 innerHTML 可以是 troublesome .最好使用 DOM , 请参阅 here对于包裹在 jQuery 插件中的那个回调 hell :-)

关于javascript - 为什么这个函数在 jquery 1.9.1 中不再起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15074930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com