我将同位素 ( http://isotope.metafizzy.co ) 与可扩展项目一起使用,并且我想使用 ScrollTo 以便我可以自动滚动到新扩展的项目..
我首先尝试将回调与 reLayout 方法一起使用,例如:
container.isotope('reLayout', iwannascroll(origin));
function iwannascroll(origin_with_newpos){
$.scrollTo(origin_with_newpos, 800);
}
origin 是一个变量,我将“this”从点击处理程序中放入其中。
不幸的是,我总是得到对象的旧位置..
实际上,我不确定回调是否调用得太早,或者我是否无法理解存储 jQuery 对象如何使其更像副本或“指针”;-)
有什么想法吗?
编辑:我现在确定回调是在动画结束之前调用的,所以我的问题是:我现在如何才能完成动画?
最佳答案
好的,
潜入同位素代码中,我发现动画选项直接传递给 animate jquery 方法,因此我向这些选项添加了完整的回调:
animationOptions: {
duration: 4000,
easing: 'easeInOutQuad',
queue: false,
complete: iwannascroll
}
然后我就可以过滤扩展的对象并滚动到它:
function iwannascroll(){
var target = $(this);
if (target.hasClass('expanded'))
$.scrollTo(target, 800);
}
显然,只有当您使用 jQuery animate 方法来制作动画时,它才会起作用。 如果有人知道更好的“通用”方法,我很想听听;)
关于jquery - jquery 插件 Isotope 的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5433862/