I made animations for text to show and hide, but I don’t know how to make it work correctly. I’m bad at programming, so please help.ㅤㅤㅤㅤㅤ
My English is bad too, so this is written by a google translateㅤㅤㅤㅤㅤㅤㅤㅤ
I want that when a button is pressed, a specific text with animation is shown, and another is hiding, and also when the “hide” button is pressed, the text is hiding, also with animation. The problem is that the text hiding without animation, I just don’t know how to attach it.ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
function hide(Id) {
document.getElementById(Id).style.display = "none";
}
function show(Id) {
document.getElementById(Id).style.display = "block";
}
p {text-align: center;
}
@keyframes text-fade-in {
0% {
opacity: 0;
transform: translateX(-10vw);
}
80% {
opacity: 1;
}
100% {
opacity: 1;
transform: translateX(0vw);
}
}
.text-fade-in {
opacity: 0;
animation-name: text-fade-in;
animation-delay: 0.4s;
animation-duration: 0.4s;
animation-timing-function: easeOutCirc;
animation-fill-mode: forwards;
}
@keyframes text-fade-out {
0% {
opacity: 1;
transform: translateX(0vw);
}
80% {
opacity: 0;
}
100% {
opacity: 0;
transform: translateX(-10vw);
}
}
.text-fade-out {
opacity: 1;
animation-name: text-fade-out;
animation-delay: 0.4s;
animation-duration: 0.4s;
animation-timing-function: easeOutCirc;
animation-fill-mode: forwards;
}
<button onclick="show('Text1'); hide('Text2'); hide('Text3')">Text1</button>
<button onclick="show('Text2'); hide('Text1'); hide('Text3')">Text2</button>
<button onclick="show('Text3'); hide('Text1'); hide('Text2')">Text3</button>
<button onclick="hide('Text1'); hide('Text2'); hide('Text3')">Hide </button>
<p class="text-fade-in" id="Text1" style="display:none">Text1</p>
<p class="text-fade-in" id="Text2" style="display:none">Text2</p>
<p class="text-fade-in" id="Text3" style="display:none">Text3</p>
2
Answers
One issue that I see is that you can’t animate the display property. I see that you have an opacity set using CSS, but setting the display to none in your
onclick
handler would negate that.I modified your code to produce some transitions based on what I am guessing that you are attempting to do.
I think you are talking about this functionality.
Just check it and tell me your thought
I am also adding a codepen