ระหว่างการฝึกงานครั้งก่อน ฉันมีข้อกำหนดในการฝังหน้า H5 บนฝั่ง Android เพื่อรับรู้การป้อนข้อมูลด้วยเสียง และรวมภาพเคลื่อนไหวและลูกบอลกระโดดในระหว่างการป้อนข้อมูล ด้วยการปรึกษาหารือเกี่ยวกับวัสดุต่างๆ และขึ้นอยู่กับสถานการณ์ความต้องการที่แท้จริง ในที่สุดฟังก์ชันของมันก็บรรลุผลสำเร็จ มาทบทวนและบันทึกได้ที่นี่
ขั้นแรก ตระหนักถึงการตีของลูกบอลลูกเดียว
วิเคราะห์: ลูกบอลเริ่มต้นจากด้านบน มาถึงจุดต่ำสุดในช่วงตรงกลาง และสุดท้ายก็กลับมาสู่ด้านบน เป็นการวนซ้ำไม่สิ้นสุด ทำได้โดยการรวมตำแหน่งสัมพันธ์กับคีย์เฟรม CSS3
<div class="บอล"></div>
.ลูกบอล { ความกว้าง: 20px; ความสูง: 20px; รัศมีชายแดน: 50%; ตำแหน่ง: ญาติ; ชื่อแอนิเมชั่น: การตีกลับ; // ชื่อแอนิเมชั่น - ระยะเวลาของแอนิเมชั่น: 1.6s; // แอนิเมชั่น - การวนซ้ำ - นับไม่สิ้นสุด; // แอนิเมชั่นพื้นหลังวนซ้ำไม่สิ้นสุด: rgb (244, 7, 7); สี} //แอนิเมชั่นคีย์เฟรม @keyframes กระเด้ง { 0% { ด้านบน: 0px; //เริ่มต้นที่ด้านบน} 50% { ด้านบน: 100px; // ตรงกลางที่ด้านล่าง} 100% { ด้านบน: 0px; // ในที่สุดก็กลับสู่ด้านบน} -
การวิเคราะห์: ลูกบอลหลายลูกกระโดดพร้อมกัน และการวางตำแหน่งที่สัมพันธ์กันจะต้องแตกต่างกัน ประการที่สอง มีเวลาที่แตกต่างกันในการเริ่มต้นของแอนิเมชั่นลูกบอลแต่ละลูก และอย่างที่สองคือสีของลูกบอล
/** ลูก = [1,2,3,4,5] ลูกหลายลูก*/ <div v-for="ลูกบอลอยู่ในลูกบอล" :key="ball" :class="['ball', `ball${ball}`]"></div>
// extraction.ball สไตล์สาธารณะ { ความกว้าง: 20px; ความสูง: 20px; รัศมีชายแดน: 50%; ตำแหน่ง: ญาติ; ชื่อแอนิเมชัน: การตีกลับ; // ชื่อแอนิเมชั่น แอนิเมชั่น-ระยะเวลา: 1.6s; // แอนิเมชั่นจำนวนซ้ำ: อนันต์; .บอล1 { @ ขยาย .ball; ซ้าย: 0; พื้นหลัง: RGB (244, 7, 7); - .บอล2 { @ ขยาย .ball; แอนิเมชั่นล่าช้า: 0.25s; // แอนิเมชั่นล่าช้าเหลือ: 30px; พื้นหลัง: RGB (16, 106, 241); - .บอล3 { @ ขยาย .ball; ภาพเคลื่อนไหวล่าช้า: 0.5s; // ความล่าช้าของภาพเคลื่อนไหวเหลือ: 60px; พื้นหลัง: RGB (251, 236, 13); - .บอล4 { @ ขยาย .ball; แอนิเมชั่นล่าช้า: 0.75s; // แอนิเมชั่นล่าช้าเหลือ: 90px; พื้นหลัง: RGB (233, 23, 233); - .บอล5 { @ ขยาย .ball; แอนิเมชั่นล่าช้า: 1.0s; // แอนิเมชั่นล่าช้าเหลือ: 120px; พื้นหลัง: RGB (6, 247, 6); - //แอนิเมชั่นคีย์เฟรม @keyframes กระเด้ง { 0% { ด้านบน: 0px; //เริ่มต้นที่ด้านบน} 50% { ด้านบน: 100px; // ตรงกลางที่ด้านล่าง} 100% { ด้านบน: 0px; // ในที่สุดก็กลับสู่ด้านบน} -
การสาธิต
การวิเคราะห์: เชื่อมโยงการตรวจสอบเหตุการณ์ แอนิเมชั่นการกดปุ่มแบบยาวจะแสดงขึ้น และแอนิเมชั่นการกดปุ่มจะถูกซ่อนไว้
ในที่สุดก็ถึงเวลานำไปใช้และเห็นผลที่ได้มา
<el-button id="bouncingBallBtn">การป้อนข้อมูลด้วยเสียง</el-button> <กำยำบอล v-if="showBouncing" />
/** data showBouncing: false */ ติด() { ให้ theBouncingBtn = document.getElementById("bouncingBallBtn"); // เทอร์มินัลมือถือ theBouncingBtn.addEventListener("touchstart", this.startBouncing, false); theBouncingBtn.addEventListener("touchend", this.endBouncing, false); // ฝั่งพีซี theBouncingBtn.addEventListener("mousedown", this.startBouncing, false); theBouncingBtn.addEventListener("mouseup", this.endBouncing, false); - /** การแสดงภาพเคลื่อนไหว*/ startBouncing (เหตุการณ์) { เหตุการณ์preventDefault(); this.showBouncing = จริง; - /** การซ่อนแอนิเมชั่น*/ endBouncing (เหตุการณ์) { เหตุการณ์preventDefault(); this.showBouncing = เท็จ; -
นี่เป็นการสรุปบทความเกี่ยวกับแอนิเมชัน CSS3 เพื่อใช้ลูกบอลเด้งหลายลูก (แอนิเมชั่นอินพุตเสียง) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับลูกเด้ง CSS3 โปรดค้นหาบทความก่อนหน้าใน downcodes.com หรือเรียกดูบทความที่เกี่ยวข้องด้านล่างต่อไป com มากขึ้นในอนาคต!