Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery链接到预定义函数_Javascript_Javascript Events_Jquery - Fatal编程技术网

Javascript 使用jQuery链接到预定义函数

Javascript 使用jQuery链接到预定义函数,javascript,javascript-events,jquery,Javascript,Javascript Events,Jquery,我一直在尝试将这最后一段代码链接起来,使其能够很好地工作 它调用2个已预设的函数 slideToImage(newIndex); setCaption(); 我希望在图像滑动后设置标题 这对我来说一直是一个令人困惑的话题,因为我尝试了不同的称呼方式,比如 callbacks = $.Callbacks(); callbacks.add(slideToImage(newIndex)); callbacks.add(setCaption()); callbacks.fire(); 但这对“se

我一直在尝试将这最后一段代码链接起来,使其能够很好地工作

它调用2个已预设的函数

slideToImage(newIndex);
setCaption();
我希望在图像滑动后设置标题

这对我来说一直是一个令人困惑的话题,因为我尝试了不同的称呼方式,比如

callbacks = $.Callbacks();

callbacks.add(slideToImage(newIndex));
callbacks.add(setCaption());
callbacks.fire();
但这对“setCaption”不起作用,它很简单:

callbacks.add(setCaption);
对于“slideToImage”,由于您需要传递一个参数,所以它稍微复杂一些:

callbacks.add(function() { slideToImage(newIndex); });

slideToImage
必须包含一些随时间变化的动画逻辑。因此,
slideToImage
将启动动画过程,然后在动画完成之前返回,这将导致调用
setCaption

您应该将
setCaption
作为回调传递到
slideToImage
中,并在动画完成后调用它

function slideToImage(newIndex, callback) {
    // I assume you're using jQuery for animation
    targetElement.animate({left: 100}, 200, function() {
        // once animation has finished we call the callback function
        callback();
    });
}

slideToImage(newIndex, function() {
    setCaption();
});

向我们展示
slideToImage
的代码,在jsfiddle.net中创建一个简单的演示