• $(window).height() 文档高度问题


    遇到一个这样的问题:

      有个项目做的好好的,测试时一步一步小心过来,做了一段时间后,发现前面的完成的功能出了问题了

      首先描述下出问题的功能:

    做滚动条下拉加载的时候用的网上找的一种方法

    $(window).scroll(function(){
          if($(document).scrollTop()>=$(document).height()-$(window).height()){
         alert("aa");  
       }
     });
    
      

    当我们出现滚动条时,把滚动条下拉就可以产生事件,这样我们就可以在事件中添加需要加载的网页内容,许多网站都是这样做用来节省图片服务器压力。

    但今天做着做着发现在ie上面运行正常,在google和火狐上面跑就不正常了。因为一直用的ie测试的,所以,不知道当时改了哪里会引出这个错误,错误出现情况如下

    正常情况是

    当滚动条到底部时,才触发事件,我这样就可以加载我所需要的内容了,因为$(document).scrollTop()>=$(document).height()-$(window).height()的意思是当滚动条高度大于窗口高度时-文档高度时,就触发该事件,所有就看到了上图所示的效果!

    但后面出现错误的情况是:

    无论滚动条怎么动都会触发这个事件

    后面打印出这两个值:发现这个$(document).height()  和 $(window).height() 这两个值在 google 和 firefox里的值竟然是一样的,在ie中却又不同,也就是不管滚动条怎么动,这个判断条件始终成立,所以出现了ie上没事,其他浏览器出现不正确的情况。

    解决办法:

    如果你和我一样都是改了这个才出了问题,那么就是这个原因了

    我是改了

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    改成了

    <html lang='zh-CN' xml:lang='zh-CN' xmlns='http://www.w3.org/1999/xhtml'>

    最后改回来,这个问题就解决了

    也就是$(window).height()的值正常了,真是坑爹的问题

    ps:我是一个喜欢按照自己风格来写代码,不管是前台还是后台,尽量做到能代码备份,当某天无意改了代码,当时可能没发现问题。当某天出了问题了,能回退到前面某一个时间点的代码,那便可以查找一些问题,像我今天遇到的这种问题,也不是没有其他解决办法。我的解决办法就是回退到以前的代码,因为我记得以前这块是没问题的,所有仔细核对后才发现是改了这个头部信息

    关于这种工具我现在只知道eclipse的 show local history!这个功能在每保存一次的时候就备份一次,功能非常强大,是保存在本地机器上面的

  • 相关阅读:
    关于IDEA 单元测试时 【empty test suite】
    js小数点问题
    梅林路由器阿里云ddnsipv6脚本(含socat转发)
    [Mysql] 页结构
    [Thread] 多线程顺序执行
    MySQL、MySQL Workbench [8.0.28] 最新安装包与安装教程【2022年3月】
    微信h5 视频自动播放解决方案
    美团前端暑期实习凉经
    通过图片地址获取图片的base64,再通过base64获取二进制数据
    C# Enum,Int,String的互相转换 枚举转换
  • 原文地址:https://www.cnblogs.com/wxwall/p/3731114.html
Copyright © 2020-2023  润新知