使用 jquery,我正在使用 jquery 的功能交换网页中的一些内容.load()
。我想在内容实际加载后立即触发一个事件,但不是 before和after。我准备好任何优雅的解决方案!为什么?在这种情况下,我正在使用旧的“淡出、交换内容、淡入”方法。我的问题?我想在新内容加载后立即淡出。
注意事项:
$('#object').load(url, callback)
只要.load()
函数成功执行(在实际加载内容之前) ,就使用回调函数作为触发器。在这里没用。- 使用定时延迟淡入不是一个优雅的解决方案。非常“笨拙”,尤其是对于那些互联网连接速度更快的人。
- JavaScript 的
onload
事件触发器不起作用,因为.load()
正在更改的元素已经加载到 HTML DOM 中。 - jquery 的
.ready()
功能也不起作用,因为实际元素已经加载。 - 我不想创建一个
onload
或.ready()
子容器元素,因为这是我实际尝试的一种解决方法,尽管它可能同样优雅或更多。
当(且仅当)新内容最终加载时,我如何才能触发函数.load()
,就像 JavaScript 的onload
事件一样?非常感谢。
编辑事实证明,jquery.load()
函数工作完美,我正在接近这个错误。
- 一旦
.load()
函数成功完成,它就会调用程序员包含的任何“回调”函数,就像任何其他接受回调作为其“参数”之一的 jquery 函数一样。 - 一旦出错或成功开始 HTML 替换和加载新内容,该
.load()
功能就完成了,但就是这样!然后,无论加载内容需要多长时间,但您的.load
通话在此之前已经完成。因此,期望回调在内容加载后.load
运行只会让您失望。;)
我希望其他人可以像我一样从中吸取教训,包括那些认为我认为是这样的人。证明:如jquery ajax .load page中所述,回调在请求完成时执行,而不是在加载完成时执行。尤里卡。哎呀。/编辑