简体   繁体   English

如何在淡出期间为按钮移动设置动画

[英]How to animate button movement during Fade Out

In code snippet you can see I have 2 buttons when i click on fade out button my paragraph fade out during this fade out I want my buttons to take place of paragraph slowly animatedly. 在代码段中,当我单击“淡出”按钮时,我可以看到2个按钮。在此淡出过程中,我的段落也逐渐淡出。我希望我的按钮以动画的方式慢慢代替段落。

 $(document).ready(function(){ $(".btn1").click(function(){ $("p").fadeOut() }); $(".btn2").click(function(){ $("p").fadeIn(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <p>This is a paragraph.</p> <button class="btn1">Fade out</button> <button class="btn2">Fade in</button> 

 $(document).ready(function() { $(".btn1").click(function() { $("p").slideUp(1000); }); $(".btn2").click(function() { $("p").slideDown(1000); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <p>This is a paragraph.</p> <button class="btn1">Fade out</button> <button class="btn2">Fade in</button> 

This should be it: 应该是这样:

 $(document).ready(function(){ $(".btn1").click(function(){ $("p").css({ opacity: 0, transition: 'opacity 0.5s' }).slideUp(500); }); $(".btn2").click(function(){ $("p").css({ opacity: 1, transition: 'opacity 0.5s' }).slideDown(500); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <p>This is a paragraph.</p> <button class="btn1">Fade out</button> <button class="btn2">Fade in</button> 

You can use slideUp() and slideDown() instead of fadeIn()/fadeOut() . 您可以使用slideUp()slideDown()代替fadeIn()/fadeOut() That way you will get a smooth animation: 这样,您将获得平滑的动画:

 $(document).ready(function() { $(".btn1").click(function() { $("p").slideUp() }); $(".btn2").click(function() { $("p").slideDown(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <p>This is a paragraph.</p> <button class="btn1">Fade out</button> <button class="btn2">Fade in</button> 

Also, I don't think there is need for two buttons for this operation, and in this case you can just use slideToggle() : 另外,我认为此操作不需要两个按钮,在这种情况下,您可以只使用slideToggle()

 $(document).ready(function() { $(".btn1").click(function() { $("p").slideToggle() }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <p>This is a paragraph.</p> <button class="btn1">Fade out</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM