Javascript 使用jQuery链接到预定义函数
我一直在尝试将这最后一段代码链接起来,使其能够很好地工作 它调用2个已预设的函数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
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中创建一个简单的演示