如果我想在滚动上为元素设置动画,最好的方法是什么? 因为我注意到滚动时它有点滞后。 我应该像这样添加这个类吗?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSInteger restrictedLength=500;
NSString *temp=textView.text;
NSLog(@"hekk %ld",[[textView text]length]);
if(([[textView text] length] > restrictedLength)&&(range.length == 0)){
return NO;
}
return YES;
}
或制作这样的旗帜。
$(window).scroll(function() {
if($(this).scrollTop() > 500) {
$(".element").addClass("animateElement");
}
}
答案 0 :(得分:2)
在滚动上设置动画效果的最佳方法是制作最优化的代码。例如,你可以使用Vanilla JS和你描述的标志,并在滚动之前查询元素,这会产生类似的结果:
var animateFlag = true
var element = document.querySelector(".element")
window.addEventListener("scroll", function() {
if(this.pageYOffset > 0) {
if(animateFlag) {
element.classList.add("animateElement");
animateFlag = false;
}
}
})

.element {
background: yellow;
width: 200px;
height: 200px;
margin-bottom: 1000px;
}
.element.animateElement {
background: red;
}

<div class="element"></div>
&#13;