可见性 "animation" 但 SCSS 中的反向效果延迟
Visibility "animation" but a delay on the reverse effect in SCSS
我正在创建一个我最初想隐藏的元素,但是当添加 class 时,它会出现并为顶部设置动画。这个问题是,在 class 删除时,立即触发可见性,然后顶部是动画的。在 SCSS 中,我如何确保在 class 移除时,直到顶部动画之后可见性才会受到影响?
$(window).on("load", function(){
$("button").click(function(){
$(".nav-slider").toggleClass("is_visible");
});
});
.nav-slider {
position:fixed;
top:-100%;
left:0;
width:100%;
height:calc(100% - 60px);
background-color:$white;
z-index:1;
visibility:hidden;
transition:top 0.2s, visibility 0s;
-o-transition:top 0.2s, visibility 0s;
-ms-transition:top 0.2s, visibility 0s;
-moz-transition:top 0.2s, visibility 0s;
-webkit-transition:top 0.2s, visibility 0s;
padding-top:40px;
}
.nav-slider.is_visible {
top:60px;
visibility: visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav-slider">
test
</div>
<button>slider</button>
您可以为 .is_visible
设置不同的过渡
$(window).on("load", function() {
$("button").click(function() {
$(".nav-slider").toggleClass("is_visible");
});
});
.nav-slider {
position: fixed;
top: -100%;
left: 0;
width: 100%;
height: calc(100% - 60px);
background-color: $white;
z-index: 1;
visibility: hidden;
padding-top: 40px;
transition: top 2s, visibility 2s;
}
.nav-slider.is_visible {
transition: top 2s, visibility 0s;
top: 60px;
visibility: visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav-slider">
test
</div>
<button>slider</button>
我正在创建一个我最初想隐藏的元素,但是当添加 class 时,它会出现并为顶部设置动画。这个问题是,在 class 删除时,立即触发可见性,然后顶部是动画的。在 SCSS 中,我如何确保在 class 移除时,直到顶部动画之后可见性才会受到影响?
$(window).on("load", function(){
$("button").click(function(){
$(".nav-slider").toggleClass("is_visible");
});
});
.nav-slider {
position:fixed;
top:-100%;
left:0;
width:100%;
height:calc(100% - 60px);
background-color:$white;
z-index:1;
visibility:hidden;
transition:top 0.2s, visibility 0s;
-o-transition:top 0.2s, visibility 0s;
-ms-transition:top 0.2s, visibility 0s;
-moz-transition:top 0.2s, visibility 0s;
-webkit-transition:top 0.2s, visibility 0s;
padding-top:40px;
}
.nav-slider.is_visible {
top:60px;
visibility: visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav-slider">
test
</div>
<button>slider</button>
您可以为 .is_visible
$(window).on("load", function() {
$("button").click(function() {
$(".nav-slider").toggleClass("is_visible");
});
});
.nav-slider {
position: fixed;
top: -100%;
left: 0;
width: 100%;
height: calc(100% - 60px);
background-color: $white;
z-index: 1;
visibility: hidden;
padding-top: 40px;
transition: top 2s, visibility 2s;
}
.nav-slider.is_visible {
transition: top 2s, visibility 0s;
top: 60px;
visibility: visible;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav-slider">
test
</div>
<button>slider</button>