2 u012470804 u012470804 于 2017.09.11 22:45 提问

jquery 中animate的问题
1 div
2 div

例如两个div

 jQuery(function ($) {
        $("div").hide();
        $("div:first").show(1000);
        $("div").toggle(2000);
         alert($("div:visible").length);

    })

为什么alert之后会显示2 而不是显示1 我想要知道其中的原理

2个回答

showbo
showbo   Ds   Rxr 2017.09.12 09:05

show,toggle都是会设置显示然后再设置高度实现动画效果,所以2个都是可见的

showbo
showbo 回复飞翔的小野鸭: 是同步啊,不是说了,show,toggle会先设置显示才会执行动画(计时器异步执行),那不是2个都显示了
2 个月之前 回复
u012470804
u012470804 js不是同步执行的吗,不应该是show完再执行toggle, 最后执行alert?
2 个月之前 回复
qq_35728177
qq_35728177   Ds   Rxr 2017.09.12 09:07

在jQuery中,visibility: hidden;和opacity: 0;都被视作可见的,因为它们在页面上占据了相应的物理空间。

Csdn user default icon
上传中...
上传图片
插入图片