Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีเพิ่มเอฟเฟกต์ Easing ให้กับแอนิเมชันด้วย jQuery


เพื่อเพิ่มเอฟเฟกต์ easing ให้กับแอนิเมชัน ให้ใช้ความเร็วของแอนิเมชันอย่างเหมาะสมเพื่อสร้างแอนิเมชันที่สมบูรณ์สำหรับเว็บเพจ อย่าทำให้แอนิเมชันเร็วเกินไป และควรทราบว่าจะหยุดที่ไหนขณะใช้ animate()

ในตัวอย่างของเรา มีปุ่มที่นำคุณไปยังพื้นที่ textarea เพื่อเพิ่มคำตอบ:


<button class="btn" id="answer"> 
    Add answer </button>

ตอนนี้ตั้งค่า fade out อย่างเหมาะสมเพื่อตั้งค่า easing effect

ตัวอย่าง

<!DOCTYPE html> <html> <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script> 
        $(document).ready(function(){ 
            $('body').on('click', '#answer', function() { 
                var container = $('.new-answer'); 
                container.css('opacity', '0'); 
                $(this).fadeOut('fast', function() { 
                    $(this).hide(); 
                    container.show(); 
                    container.animate({ height: "200px", 
                    opacity: 1}).animate({ 
                    height: "170px" }); 
                }); 
            }); 
        }); 
    </script> 
    <style> 
    .btn { 
        width: 150px; 
        height: 40px; 
        color:#666666; 
        text-decoration: none; 
    } 
    .new-answer { 
        background: none repeat scroll 0 0 #00FFFF; 
        border: 2px solid #94ACBE; 
        border-radius: 5px 5px 5px 5px; 
        margin-bottom: 40px; 
    } 
    .new-answer .middle, .top { 
        padding: 0 10px; 
    } 
    .new-answer textarea { 
        color: #000080; 
        font: 12px; 
        height: 120px; 
        padding: 2px; 
        width: 100%; 
    } 
    </style> 
</head> 
<body> 
<button class="btn" id="answer">Add answer</button> 
<div class="new-answer" hidden="true"> 
<div class="top"> 
<span>Add a new answer below</span> 
</div> 
<div class="middle"> 
<textarea id="question-content"></textarea> 
</div> 
</div> 
</body> 
</html>