$('.images>img:nth-child(1)').addClass('current')
$('.images>img:nth-child(2)').addClass('wait')
$('.images>img:nth-child(3)').addClass('wait')
上述不行
setTimeout(() => {
$('.images>img:nth-child(1)').addClass('current')
$('.images>img:nth-child(2)').addClass('wait')
$('.images>img:nth-child(3)').addClass('wait')
}, 20) 可以。。。。。。。什么智障啊。。
后续:解决了,在html文件把script标签放body最下面。。。好吧。。
由window.scrollY=0引发的血案。。。。
在我的页面留言板部分刷新页面,显示window.scrollY=0正常应该是1000多。。思考后认为问题出在从leancloud引入的数据库没有放head标签,导致浏览器没有在生成时算那些留言的像素(太扯淡了,但一实验好像真是)
在head标签中放入
<!-- 留言板 下面两行必须放这里,不然scrollX为0,猜测从外部数据库拿数据必须放head标签 -->
<script src="//cdn1.lncld.net/static/js/3.5.0/av-min.js"></script>
<script src="./js/data-import.js"></script>
果然问题解决。。但又带来新的问题,由于这个script文件在head里面,结果拿不到DOM元素了,这是正常的,因为还没有生成嘛。。但是很奇怪,见注释
AV.init({
appId: "sGEeXThjIGNgADzjmPEkH8ap-gzGzoHsz",
appKey: "3G7BY7LcR8WuAkKktzehAcrN",
});
var test = document.querySelector('section.message') //这里拿不到
console.log('aa', test)
var query = new AV.Query('Message');
query.find().then((messages) => {
console.log(messages)
var test = document.querySelector('section.message') //这里居然能拿到????
console.log('aa', test)
....}
更离奇的是,在这个queryfind外面,再写一个 var test = document.querySelector('section.message')
console.log('aa', test)
居然先于在它上面的代码执行???猜测:可能是query.find()在页面全部生成后才执行
好吧,应该去看源码可能。。。
网友评论