我正在尝试display: none
根据他们的类创建一个带有一些元素的小菜单的平铺墙。在我的 CSS 中,我有 CSS 过渡,这些过渡正在导致fadeIn
并且fadeOut
不起作用。如果我添加时间,元素将需要很长时间才能消失,但没有实际的褪色。
CSS:
.block:not(.noTransition), .block a img, #main_side p, #main_content, #menu_container{
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
使用 jQuery 的 JavaScript:
$(document).ready(function(){
$('.button').not("#all").click(function(){
var theId = $(this).attr('id');
$('.block').not('.'+theId).addClass("noTransition");
$('.block').not('.'+theId).fadeOut('slow', function(){
$('.block').not('.'+theId).addClass("covered");
$('.block').not('.'+theId).removeClass("noTransition");
});
$('.'+theId).addClass("noTransition");
$('.'+theId).fadeIn('slow',function(){
$('.'+theId).removeClass("covered");
$('.'+theId).removeClass("noTransition");
});
getScreenSize();
});
$("#all").click(function(){
$('.block').removeClass("covered");
$('.block').show();
});
getScreenSize();
});
如果我从我的 CSS 中删除过渡,则淡入淡出确实有效,但我也希望在元素被显示/隐藏后保持过渡以重新定位元素。