遇到一个这样的问题:

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

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

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

$(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!这个功能在每保存一次的时候就备份一次,功能非常强大,是保存在本地机器上面的

随机推荐

  1. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 文件夹

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 文件夹 第一部分--開始使用SharePoint 2013 第1章节--SharePoint 2013 介绍 逐渐了解Sh ...

  2. ApacheBench(ab)使用简介

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...

  3. HDU 1256 图片8

    图片8 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  4. hdu4417 Super Mario 树阵离线/划分树

    http://acm.hdu.edu.cn/showproblem.php?pid=4417 Super Mario Time Limit: 2000/1000 MS (Java/Others)    ...

  5. mvc拦截器

    在ASP.NET MVC中,有三种拦截器:Action拦截器.Result拦截器和Exception拦截器.这里说的是第一种和第三种.其实所谓的ASP.NET MVC拦截器,也没什么神秘的,就是一个普 ...

  6. 基于jQuery的上下无缝滚动应用(单行或多行)

    工作中遇到的一个js代码,现在对.trigger('mouseleave'),仍一知半解... <script>$(function(){//单行应用var _wrap=$('ul.lin ...

  7. JQuery Smart UI

    JQuery Smart UI 个人开发的一套使用htm+js的开发框架 SmartUI2.0后续声明 摘要: 感谢很多朋友关注,因为今年一直在另外一个公司做顾问,网络环境管制相当严格,所以一直没有更 ...

  8. 使用rem设计移动端自适应页面三(转载)

    使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...

  9. Angularjs web应用

    构建兼容浏览器的Angularjs web应用 背景 随着mvvm逐渐成熟,现在使用jQuery构建web应用已经显得过时了,而且使用jQuery需要编写更多的代码去控制dom的取值.赋值.绑定事件等 ...

  10. Effective C++(13) 用对象管理资源

    问题聚焦: 从这条准则开始,都是关于资源管理的. 资源,一旦用了它,将来必须还给系统. 本条准则,基于对象的资源管理办法,建立在C++的构造函数,析构函数和拷贝函数(拷贝构造函数和重载赋值操作符)的基 ...