Javascript 完全同时淡出两个元素

Javascript 完全同时淡出两个元素,javascript,jquery,Javascript,Jquery,我有两个元素应该同时出现。我想我可以通过以下代码实现: $('.arrow-dock, .dropdown-menu', dropdown).stop(true, true).delay(delay).fadeIn("fast"); 但是不同的浏览器似乎不会同时执行fadeIn()。在不同的浏览器中,淡入淡出之间有不同的延迟。 有没有一种方法可以在完全相同的时间开始这些淡入淡出的过程?我无法复制元素不一起淡入淡出的问题,但是我可以相信这是因为如果DOM很大或者已经进行了大量处理,那么使用JS的

我有两个元素应该同时出现。我想我可以通过以下代码实现:

$('.arrow-dock, .dropdown-menu', dropdown).stop(true, true).delay(delay).fadeIn("fast");
但是不同的浏览器似乎不会同时执行
fadeIn()
。在不同的浏览器中,淡入淡出之间有不同的延迟。
有没有一种方法可以在完全相同的时间开始这些淡入淡出的过程?

我无法复制元素不一起淡入淡出的问题,但是我可以相信这是因为如果DOM很大或者已经进行了大量处理,那么使用JS的动画是相当不可靠的

为了帮助解决这个问题,您可以使用CSS来执行动画。这具有硬件加速的优点,因此在重负载下应受到较少的影响。试试这个:

var dropdown=$(“#dropdown”);
$('.arrow dock,.dropdown menu',dropdown).addClass('show');
#下拉列表>div{
不透明度:0;
过渡:0.3s不透明度1s;
}
#下拉菜单>div.show{
不透明度:1;
}

我从不使用javascript制作动画的原因很多,其中之一就是。为什么不在所有元素中添加一个类,让CSS转换处理其余的元素呢?你能帮我们一把吗?我的(非常基本的)示例没有显示这种行为。首先,我在寻找用JavaScript同步动作的可能性。但我发现在我的例子中CSS也可以工作。我甚至不需要添加带有JavaScript的类,因为我的操作完全依赖于hover。