ฉันใช้.showเพื่อแสดงข้อความที่ซ่อนอยู่หลังจากส่งแบบฟอร์มที่ประสบความสำเร็จ
จะแสดงข้อความเป็นเวลา 5 วินาทีแล้วซ่อนได้อย่างไร
ฉันใช้.showเพื่อแสดงข้อความที่ซ่อนอยู่หลังจากส่งแบบฟอร์มที่ประสบความสำเร็จ
จะแสดงข้อความเป็นเวลา 5 วินาทีแล้วซ่อนได้อย่างไร
คำตอบ:
คุณสามารถใช้.delay()ก่อนภาพเคลื่อนไหวเช่นนี้:
$("#myElem").show().delay(5000).fadeOut();
หากไม่ใช่ภาพเคลื่อนไหวให้ใช้setTimeout()โดยตรงเช่นนี้:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
คุณทำสิ่งที่สองเพราะ.hide()ปกติจะไม่อยู่ในfxคิวภาพเคลื่อนไหว ( ) โดยไม่มีระยะเวลามันเป็นเพียงเอฟเฟกต์ทันที
หรือตัวเลือกอื่นคือการใช้.delay()และ.queue()ตัวคุณเองเช่นนี้:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()จะไม่ทำงานกับ.hide()องค์ประกอบที่จะถูกแสดงแล้วซ่อนทันที ดูjsFiddle นี้นี่คือเหตุผลที่นิคกล่าวว่า "ถ้ามันไม่ได้เป็นภาพเคลื่อนไหวที่ใช้ setTimeout () โดยตรงเช่นนี้ ...."
คุณสามารถใช้เอฟเฟกต์ด้านล่างเพื่อเคลื่อนไหวคุณสามารถเปลี่ยนค่าได้ตามความต้องการของคุณ
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
เรียบง่ายอย่างนี้:
$("#myElem").show("slow").delay(5000).hide("slow");