我照着打的,为什么scrollTop总是0?

我照着打的,为什么scrollTop总是0?

//获取元素样
var getElem=function getElem(selector){
return document.querySelector(selector)
}
var getAllElem=function getAllElem(selector){
return document.querySelectorAll(selector)
}
//获取元素样式
var getCls=function(element){
return element.getAttribute('class')

}
var setCls=function(element,cls){
return element.setAttribute('class',cls)
}

//W为元素添加样式
var addCls=function(element,cls){
var baseCls=getCls(element);
if(baseCls.indexOf(cls)===-1){
setCls(element,baseCls+' '+cls);
}
}
//W为元素删除样式 outline AAA
var delCls=function(element,cls){
var baseCls=getCls(element);
if(baseCls.indexOf(cls)!=-1){
setCls(element,baseCls.split(cls).join(' ').replace(/\s+/g,' '));
}
}

//第一步:初始化样式 init
var screenAniamteElements = {
'.screen-1': [
'.screen-1__heading',
'.screen-1__phone',
'.screen-1__shadow',
],
'.screen-2': [
'.screen-2__heading',
'.screen-2__phone',
'.screen-2__subheading',
'.screen-2__point_i_1',
'.screen-2__point_i_2',
'.screen-2__point_i_3',
],
'.screen-3': [
'.screen-3__heading',
'.screen-3__subheading',
'.screen-3__phone',
'.screen-3__features',
],
'.screen-4': [
'.screen-4__heading',
'.screen-4__subheading',
'.screen-4__type__item_i_1',
'.screen-4__type__item_i_2',
'.screen-4__type__item_i_3',
'.screen-4__type__item_i_4',
],
'.screen-5': [
'.screen-5__heading',
'.screen-5__subheading',
'.screen-5__bg',
]
};
var setScreenAnimateInit=function(screenCls){
var screen = document.querySelector(screenCls); //获取当前屏
var animateElements = screenAniamteElements[screenCls];
for (var i = 0; i < animateElements.length; i++) {
var element = document.querySelector(animateElements[i]);
var baseCls = element.getAttribute('class');
element.setAttribute('class', baseCls + ' ' + animateElements[i].substr(1) + '_animate_init');
}
}
window.onload=function(){
for(var k in screenAniamteElements){
setScreenAnimateInit(k);
}
}

//第二步,滚动到哪就播放到哪
window.onscroll=function(){
var top=document.body.scrollTop;
console.log(top);
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

遇到了跟你一样的问题,scrollTop的获取方式改为var top = document.body.scrollTop || document.documentElement.scrollTop;后解决了,可能是兼容性的问题

樱桃小胖子 2017-09-29 16:31:35

亲,我这边测试你的代码是可以的,scrollTop是有数据的,建议你将css代码和html代码一起贴上来,在帮你检测一下吧~祝学习愉快!

  • 主要原因是老师的html文档开始没有加“<!DOCTYPE html>”
    2018-01-27 21:43:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师