遇到一个这样的问题:

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

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

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

$(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. 一步一步写算法(之prim算法 中)

    原文:一步一步写算法(之prim算法 中) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] C)编写最小生成树,涉及创建.挑选和添加过程 MI ...

  2. Cocos2d-x 2.3.3版本 FlappyBird

    Cocos2d-x 2.3.3版本 FlappyBird   本篇博客基于Cocos2d-x 2.3.3, 介绍怎样开发一款之前非常火的一款游戏FlappyBird.本篇博客内容大纲例如以下:   1 ...

  3. 学习Easyui

    学习Easyui 社区easyui 论坛:http://bbs.jeasyuicn.com API地址:http://www.jeasyuicn.com/api 简单桌面版:http://app.bt ...

  4. 软件project(六)——需求分析

           需求分析是软件开发期的第一个阶段,是关系到软件开发成败的关键步骤.需求分析的任务就是明白系统必须完毕那些工作,以下是对需求分析这一章做的简要总结. 导图: 解释说明:        我将 ...

  5. Java多线程之进程和线程

    在并发编程中有两个基本的概率就是进程和线程.在Java编程中并发编程更多的是关注线程.但是进程也是很重要的. 一个计算机一般会有很多活跃的进程和线程.有一点是没有疑问的在单核系统中,任何时候实际上都是 ...

  6. Gimp插件Hello world注释

    前一阵翻译gimp官网的编写插件教程,本打算继续翻译第二部分,但是感觉第一个例子还不是很懂,翻译第二部分有点理解不能,所以就读了一下源码,记录如下 #include <libgimp/gimp. ...

  7. android App Widgets

    http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#design http://develope ...

  8. 通过Transaction Log(fn_dblog)取回被删除的数据

    最近跟 James 讨论为何「ApexSQL Log」这个工具可以读到被删除的数据呢? 原来它是透过 Transaction Log 来读取数据的! 于是透过 Transaction Log 到网络上 ...

  9. struts2 &lt;s: select 标签值

    JSP页面: <s:select label="家长导航"  value="id" name="navson.pid" list=&q ...

  10. sql 进制转换,支持93内的进制相互转换

    功能:实现在SQL内进制的互相转换,支持从2 - 93进制内的转换,若需要支持其他字符,可以自定义@ym变量实现扩充 -- ====================================== ...