2017-04-05 54 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

非常感謝您的回覆我很欣賞您的不同解決方案 –