我做简单的手风琴(像这样)
|开||
使用jquery,我需要展开点击幻灯片并折叠其他。
所有幻灯片的宽度相等
用这样的东西做这件事很好。
$(this)
.next().animate({width: 160}, 500, "easeOutQuad")
.siblings("dd").animate({width: 0}, 500, "easeOutQuad");
但是我在动画期间在最后一个幻灯片按钮中抖动像素,因为调整大小不是同步
的 UPD
(实际上在每个帧函数上用浮点数计算当前宽度并将其舍入到
整数
当我们在某些帧上开始两个动画时,我们有两个数字,它们是圆形的
它导致失去一个像素)
我可以使用“step”功能设置width =(width-this.width)来折叠每个框架上的幻灯片,但我知道有最简单的解决方案。
感谢。
慢动作示例
http://jsfiddle.net/7tSMh/2/
点击绿色矩形,仔细看最后,蓝色矩形。如果没有看到问题,请做n次。
UPD
Firefox中没有问题
仅限Chrome
答案 0 :(得分:0)
考虑实施自定义动画。 请查看jQuery .animate() docs中标题为“步骤功能”的部分。您可以编写选择器以同时包含所有元素,并使用自定义函数来检测当前正在调用的元素。
这至少应该通过同时在两个不同的元素集上调用.animate()
来解决您所看到的交错动画的问题。