我制作了3个css类,如下所示:
.modal {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba( 255, 255, 255, .8 ) url('') 50% 50% no-repeat;
background-image: url('../../images/gears.svg');
}
body.loading {
overflow: hidden;
}
body.loading .modal {
display: block;
}
点击jQuery事件后,我向最终用户显示,以便用户知道发生了什么。
我在这里不喜欢的是,加载看起来非常强烈,过渡时没有平滑,当它消失时。我向用户展示加载齿轮的方法是:
$body = $("body");
然后显示它:
$body.addClass("loading");
或者删除它:
$body.removeClass("loading");
如何使用jquery或CSS添加加载齿轮出现和消失的平滑过渡,以便动画看起来更友好?
有人能帮助我吗?
答案 0 :(得分:2)
我会删除display: none
然后只使用css转换来淡入容器。您也可以将类添加到模态而不是正文。
.loader {
visibility: hidden;
opacity: 0;
}
.loader.visible {
opacity: 1;
visibility: visible;
transition: opacity .25s ease-in-out;
-moz-transition: opacity .25s ease-in-out;
-webkit-transition: opacity .25s ease-in-out;
}
答案 1 :(得分:2)
除了使用opacity
或visibility
的CSS转换外,您还可以使用jQuery来显示/隐藏加载器。我会推荐Zach的CSS解决方案,因为它更简单,更高效,但这是另一种选择。
.modal {
display: none;
position: fixed;
z-index: 1000;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: rgba( 255, 255, 255, .8 ) url('') 50% 50% no-repeat;
background-image: url('../../images/gears.svg');
}
body.loading {
overflow: hidden;
}
$('body').addClass('loading');
/* fade loader in */
$('.modal').fadeIn('fast');
/* fade loader out */
$('.modal').fadeOut('fast', function() {
$('body').removeClass('loading');
});