关于scrollTop()=0的汇总帖

关于scrollTop()=0的汇总帖

我用的谷歌浏览器81.0.4044.129版,老师的代码在我这也是scrollTop()一直是0.我的代码也是

$.fn.UiTop=function(){

var aTag= $('<a href="javascript:;">up</a>');

$(this).append(aTag);

var windowHeight=$(window).height();

console.log('windowHeight'+windowHeight);

$(window).on('scroll',function(){

var top=$('body').scrollTop();

console.log('top'+top);

if(top>windowHeight){

aTag.show();

}

else{

aTag.hide();

}

})

}

百度了下,找到了办法,

https://blog.csdn.net/kouryoushine/article/details/99745904

我想起来之前的提问https://class.imooc.com/course/qadetail/207238,删除了下doctype也好了,我又试了下,把doctype改成  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">也可以

就是直接写成<!DOCTYPE html>不可以。



正在回答

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

4回答

同学你好,能够自己发现问题并解决问题,进而总结方法,这一点非常棒,因为不同的浏览器将scrollTop设置在不同的元素(body或html)上,所以为了兼容不同的浏览器,可以写成$('body,html').scrollTop();而<!DOCTYPE html>不可以是因为<!DOCTYPE html>中没有声明DTD,DTD是文档类型定义(Document Type Definition),是一套关于标记符的语法规则。

希望可以帮到你,祝学习愉快!

好帮手慕星星 2020-05-06 18:24:25

同学你好,下面同学说的是正确的

http://img1.sycdn.imooc.com//climg/5eb2903f09685f8e07280138.jpg

这样会更简单一些,获取html或者body的滚动高度,哪个能获取到就用哪个。

祝学习愉快!

lianhilda 2020-05-06 14:05:00

老师的写法var top=$('body').scrollTop();在我这console.log(top)也一直是0

改成 var top=$('body,html').scrollTop();可以兼容你说的不同HTML写法的问题。

提问者 王文辉 2020-05-06 01:16:08

//ui-backTop

$.fn.UiTop=function(){

var aTag= $('<a href="javascript:;">up</a>');

$(this).append(aTag);

var windowHeight=$(window).height();

console.log('windowHeight'+windowHeight);

$(window).on('scroll',function(){

// var top=$('body').scrollTop();

var top=window.pageXOffset

||document.documentElement.scrollTop

||document.body.scrollTop

||0;

console.log('top'+top);

if(top>windowHeight){

aTag.show();

}

else{

aTag.hide();

}

})

}

我感觉这个方法更实在,感觉像是不同浏览器下选取不同的top值获取办法

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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