当你计划打一些jQuery代码元素的
显示和隐藏,调用setTimeout()来
设置HTML延迟一段时间后:
整个页面的代码如下所示。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(
文本){
setTimeout($(' #日志')。表明()(),文本(text)
}
显示()调用成功。但是文本()调用失败。
控制台显示未定义文本。
对于这个问题我没有得到更好的答案。我认为jQuery改变了setTimeout()
函数的内容,使变失败。
我接着做了下一个实验。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(文本){
setTimeout(警报(文本)
}
我想看看jQuery是否真的有问题。这是同一个
错误。
然后我们看了看那本书,
发现了问题。
当setTimeout()接受一个字符串
参数,它将在全球范围内,也就是说,它是位于外的任何功能。最简单的修复
方法是使用
本地函数(匿名函数)来
解决这个问题。
复制代码代码如下所示:
显示下一个
是的,我是下一个。
功能shownext(文本){
setTimeout()函数({ $(' #日志')。显示(文本)(文本);},1000);
}
成功解决这个问题。