我正在使用JQuery为面板系统菜单设置动画。问题是有5个面板,我无法将面板设置为左:属性直接,因为它需要根据当前位置计算它。我的剧本应该解释一下。
$('.panel').animate({left: '-250'}, 300);
所以这很好,因为第一次点击它会将第一个面板滑出视图,第二个面板进入视图。在第二个面板中单击时,它不会滑动到第三个面板,因为它告诉所有面板.panel移动到left:-250
。我希望它能解决当前的问题:是.panel,然后再添加-250
来制作动画。
如果left:0
我们在第一个面板上并且点击了,我们将转到left:-250
。点击第二个面板,它会添加-250 + -250
并将动画添加到-500
等等......
有什么想法吗?
答案 0 :(得分:0)
您需要使用偏移或偏移父级来获取位置。
http://api.jquery.com/offsetParent/
像这样的东西; (未经测试)
var offset = $('.panel').offset();
alert(offset.left);
alert(offset.top)
var newpos = [offset.left - 250]
$('.panel').animate({left: newpos}, 300);