首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery将新的css应用于元素,如何添加过渡?

问使用jQuery将新的css应用于元素,如何添加过渡?
EN

Stack Overflow用户
提问于 2013-04-11 05:04:23
回答 7查看 115关注 0票数 0

我使用此jQuery规则将.preloader设置为显示none

代码语言:javascript
复制
$(".preloader").css("display", "none");

我多么希望它在淡出效果和淡出效果下消失,我不知道怎么做缩小效果,但我试着用这个来使它淡出

代码语言:javascript
复制
$(".preloader").css("display", "none").fadeOut("200");

这怎么也不管用。你能建议一下如何实现这两个效果吗?另外,解决方案会反之亦然吗?(淡入淡入,放大到原始大小)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-04-11 05:07:34

$(".preloader").toggle('hide');和$(".preloader").toggle('show');应该可以做到这一点,但是如果您不关心$.toggle()的状态是什么,那么display本身就可以工作。

然而,

代码语言:javascript
复制
$(".preloader").stop(true,false).animate({
    width: 'toggle',
    height: 'toggle',
    opacity: 'toggle'
});

要酷得多,而且你只需要一句话。您也可以在$.toggle(yourShowStateBooleanVariableGoesHere)中使用boolean。

此外,我建议您使用id而不是class选择器,除非它必须应用于所有classes (我发现这种情况很少见)。

票数 2
EN

Stack Overflow用户

发布于 2013-04-11 05:06:57

为了淡出它,只需使用fadeOut()即可。动画的结尾实际上是为元素设置了一个display: none:

代码语言:javascript
复制
$(".preloader").fadeOut("200");
票数 3
EN

Stack Overflow用户

发布于 2013-04-11 05:06:35

代码语言:javascript
复制
$(".preloader").css("display", "none").fadeOut("200");

这段代码首先隐藏.preloader,然后尝试fadeOut,这是不可能的,因为它已经隐藏了。

试试这个:

代码语言:javascript
复制
$(".preloader").fadeOut(200);

或

代码语言:javascript
复制
$(".preloader").fadeOut("fast");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15936370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档