我正在尝试将鼠标平移效果与http://interface.eyecon.ro/docs/fisheye处的鱼眼插件相结合。
这些工作分别很好,但他们一起完全痉挛
有什么可以更改或添加到下面的代码中以平滑所有内容吗?
鼠标平移:
$("body").mousemove(function(e) { var distance = e.pageX - $(this).offset().left; var percentage = distance / $(this).width(); var targetX = -Math.round(($(".dock-container").width() - $(this).width()) * percentage); $('.dock-container').animate({left: [targetX+"px", "easeOutSine"]}, { queue:false, duration:2500 }); });
鱼眼:
$('#dock').Fisheye({ maxWidth: 42, items: 'a', itemsText: '', container: '.dock-container', itemWidth: 40, proximity: 90, halign : 'center' });
答案 0 :(得分:0)
如果您查看鱼眼插件的工作原理,您会看到它为left
的{{1}}属性设置动画。你的mousemove代码也会激活.dock-container
的左边属性,所以最终你的代码正在与鱼眼搏斗。您应该考虑移动代码以设置父级动画(例如.dock-container
,或在另一个div中包裹dock
并为其设置动画),以便dock
动画不会互相争斗。如果您设置了jsFiddle,我们可以尝试修复它。否则,我很难说我的解决方案是否有效。
答案 1 :(得分:0)
我认为mousemove事件应放在包装div上 - 同时查看hoverintent插件。