调用函数的Javascript顺序
嗨,我对编程还是相当陌生,我还没有机会完全理解Java或Javascript——我所知道的唯一编程语言,但我正在努力理解Javascript 我面临的是,有时候我不明白javascript何时调用我创建的函数。我为jQuery创建了一个小插件: 该插件是非常容易的图像设置在彼此的顶部使用绝对位置。然后我拍摄第一张图像并将z指数设置为100,然后拍摄下一张图像并将其z指数设置为50。之后,我再次拍摄第一张图像并将其淡入0不透明度,然后调用回调函数,将第一张图像的z指数设置为0,将其淡入1不透明度,将下一张图像的z指数设置为100 在这个孔处理完成后,变量第一个被设置为下一个元素。这就是我的问题所在。如果我在回调函数中首先将变量设置为下一个img,那么插件工作正常,一切正常,但是如果我在回调函数之外执行此操作,那么脚本在每个图像上运行一次,并且必须在第一个图像淡出时重新开始,我会看到背景。如果在回调函数中将第一个图像设置为next,则不会发生这种情况调用函数的Javascript顺序,javascript,jquery,Javascript,Jquery,嗨,我对编程还是相当陌生,我还没有机会完全理解Java或Javascript——我所知道的唯一编程语言,但我正在努力理解Javascript 我面临的是,有时候我不明白javascript何时调用我创建的函数。我为jQuery创建了一个小插件: 该插件是非常容易的图像设置在彼此的顶部使用绝对位置。然后我拍摄第一张图像并将z指数设置为100,然后拍摄下一张图像并将其z指数设置为50。之后,我再次拍摄第一张图像并将其淡入0不透明度,然后调用回调函数,将第一张图像的z指数设置为0,将其淡入1不透明度,
有人能解释为什么会发生这种情况,以及与什么主题相关,以便我能更好地阅读和理解发生的情况。您正在经历由异步函数引起的行为 jQuery动画函数,如
fadeTo
异步执行,这意味着该函数可以在调用后的任何时间完成。如果按顺序调用两个异步函数
asynch1();
asynch2();
代码的行为可能会有所不同,因为无法保证asynch1
将在asynch2
之前执行
这就是回调的目的。您可以在中传递一个函数,该函数将在异步函数完成后运行
当你这样做的时候
$first.css({
'z-index': 0
}).fadeTo(50, 1);
$next.css({
'z-index': 100
});
$first = $next;
没有办法预测首先会发生什么
如果改用回调函数
$first.css({
'z-index': 0
}).fadeTo(50, 1, function() {
$next.css({
'z-index': 100
});
$first = $next;
});
您知道,淡入淡出动画完成后,将设置
$next
css。您应该在小提琴中放置完全限定的URL,以便图像显示(http://...)我找不到上传图片的地方,所以我想这是不可能的。我会再次检查并更正我的错误。谢谢,您无法上载-您必须指向您自己服务器上的副本:(