jQuery的setTimeout传递字符串参数误差的解决方案

jQuery的setTimeout传递字符串参数误差的解决方案
当你计划打一些jQuery代码元素的显示和隐藏,调用setTimeout()来设置HTML延迟一段时间后:

整个页面的代码如下所示。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(文本){
setTimeout($(' #日志')。表明()(),文本(text)
}
显示()调用成功。但是文本()调用失败。控制台显示未定义文本。

对于这个问题我没有得到更好的答案。我认为jQuery改变了setTimeout()函数的内容,使变失败。

我接着做了下一个实验。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(文本){
setTimeout(警报(文本)
}
我想看看jQuery是否真的有问题。这是同一个错误

然后我们看了看那本书,发现了问题。

当setTimeout()接受一个字符串参数,它将在全球范围内,也就是说,它是位于外的任何功能。最简单的修复方法是使用本地函数(匿名函数)来解决这个问题。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(文本){
setTimeout()函数({ $(' #日志')。显示(文本)(文本);},1000);
}
成功解决这个问题。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部