javascript - 我有一个js出现效果问题
问题描述
这是js,向下滚动时应该一次出现4篇文章,但是在第2条之后它不起作用。我做错了什么?
function scrollAppear(){
var main = document.querySelector("main");
var art = main.querySelectorAll("article");
var artPos1 = art[0].getBoundingClientRect().top;
var artPos2 = art[1].getBoundingClientRect().top;
var artPos3 = art[2].getBoundingClientRect().top;
var artPos4 = art[3].getBoundingClientRect().top;
var artPos5 = art[4].getBoundingClientRect().top;
var screenPos = window.innerHeight /1.3;
if (artPos1>600 && artPos1<700) {
art[0].classList.add('appear');
}
else if (artPos2<500) {
art[1].classList.add('appear');
}
else if (artPos3<800) {
art[2].classList.add('appear');
}
else if (artPos4<600) {
art[3].classList.add('appear');
}
else if (artPos5<600) {
art[4].classList.add('appear');
}
}
window.addEventListener('scroll',scrollAppear);
解决方案
如果他们都需要出现在同一个地方,那么每个人不应该使用相同的条件吗?
if (artPos1>600 && artPos1<700) {
art[0].classList.add('appear');
}
else if (artPos2>600 && artPos2<700) {
art[1].classList.add('appear');
}
else if (artPos3>600 && artPos3<700) {
art[2].classList.add('appear');
}
else if (artPos4>600 && artPos4<700) {
art[3].classList.add('appear');
}
else if (artPos5>600 && artPos5<700) {
art[4].classList.add('appear');
}
推荐阅读
- json - Primefaces addCallbackParam 返回 empty:false 而不是实际对象
- php - 如何在 Symfony 4 用户检查器中翻译异常消息?
- perl - 如何检查数据库连接是否正确 [PERL]
- scala - 如何在 Scala 上编写具有限制的过滤器?
- c# - 如何使用 ??用 lambda 表达式?
- apache-spark - 使用 Kafka 进行 Spark Streaming 的心跳、轮询间隔和会话超时
- javascript - 在父 div 中添加类
- c# - 重建自动生成的 dll 后不会在其他项目中生成
- c# - 使用 Linq 在字符串 [,] 中搜索
- mysql - 我只需要从 login1 字段中检索日期,该字段是 varchar,其值类似于 1/24/2019 13:22:22?