2017-04-05 47 views
0

在代码片段中,您可以看到当我单击淡出按钮时,我有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>

+0

有使用淡入淡出具体原因是什么?如果没有使用slideUp(),slideDown()应该默认为 – Webpandit

回答

1

这应该是它:

$(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>

+0

完美满足我的要求,谢谢。 :) –

0

您可以使用slideUp()slideDown()而不是fadeIn()/fadeOut()。这样,你会得到一个平滑的动画:

$(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>

另外,我不认为有必要对两个按钮进行此操作,在这种情况下,你可以只使用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>

+0

切换不是我关心的,实际上我只是分享这个代码来解释我的问题,我的需求也是淡出,但是感谢您的快速响应。我很震惊,看到如此快速的回应:) –

2

$(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>

+0

好的答案,但原来的海报寻求'淡入淡出效果,这是滑动效果。 – CodeMonkey

+0

@Inuka yaa,但根据上述要求,我认为滑动效果更好。 –

+0

非常感谢您的回复我很欣赏您的不同解决方案 –