เมื่อใช้ Sass ฉันกำลังวนซ้ำรายการต่างๆ ด้วยคลาส animateMe
และใช้การหน่วงเวลาของภาพเคลื่อนไหวโดยใช้ดัชนีเป็นตัวคูณ
@for $i from 1 through 100 {
.animateMe:nth-child(#{$i}) {
animation-delay: .5s * $i;
}
}
เมื่อใช้ Angular ฉันใช้คลาส animateMe
กับ div เมื่อตรงตามเงื่อนไขกับ ngClass
เท่านั้น
<div id="neededfoodnames" *ngFor="let list of lists; let i = index" [ngClass]="{'animateMe':lists[i-1]?.category != list.category && animate == true}">
.....
</div>
สิ่งนี้ควรใช้คลาสเฉพาะในกรณีที่หมวดหมู่ของรายการแตกต่างจากหมวดหมู่ของรายการสุดท้าย และภาพเคลื่อนไหวได้รับการตั้งค่าเป็นจริง ซึ่งก็คือ
animate: boolean = true;
ผลลัพธ์ที่ได้คือ 4 div ที่มีคลาส animateMe
อย่างไรก็ตาม ความล่าช้าของภาพเคลื่อนไหวไม่ได้ถูกนำมาใช้อย่างถูกต้อง เนื่องจาก div ตัวแรกและตัวที่สองมีความล่าช้าที่ถูกต้องคือ .5 วินาที และ 1 วินาที ตามลำดับ ในขณะที่ div ที่สามมีความล่าช้าที่ไม่ถูกต้องคือ 3 วินาที
div ตัวที่สามได้รับคลาส animateMe:nth-child(6)
แต่ควรเป็น animateMe:nth-child(3)
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร? ฉันได้สร้าง StackBlitz สำหรับปัญหานี้
#neededfoodnames:nth-child(4)
ไม่มีเนื้อหาอย่างไร หรือคุณกำลังพยายามเขียนทับ css ของคุณด้วย ng-animate - person stwilz   schedule 01.08.2018#neededfoodnames
ในนั้น :) - person stwilz   schedule 01.08.2018#neededfoodnames
แล้ว คลาสanimateMe
ควรนำไปใช้กับ 4 div เท่านั้น ดังนั้นจึงไม่ควรมีanimateMe:nth-child(6)
แต่คลาสนั้นมีอยู่ - person cfoster5   schedule 01.08.2018lists[i-1]?.category
ฉันเห็นการพิมพ์ผิดที่นี่ จุดหลังเครื่องหมายคำถามในตัวดำเนินการที่ประกอบไปด้วยคุณ - person DragonKnight   schedule 01.08.2018