jquery – wordpress上的$(window).height()太多了

前端之家收集整理的这篇文章主要介绍了jquery – wordpress上的$(window).height()太多了前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在创建工具提示的动态定位,我先在jsfiddle上测试代码然后将我的代码放到我的网站上(在localhost上使用wordpress构建),在jsfiddle我的脚本是可行的但是当我把代码放到我的网站时,它不起作用(不是动态地在chrome上)因为$(window).height()的结果不同.您可以检查this fiddle并尝试鼠标进入链接(第一个链接),然后在控制台上查看日志,窗口高度的结果为wh:667但在我的网站窗口高度为wh:12024和wh:11970(可更改)

jQuery(document).ready(function ($) {    
    $('a[rel="bookmark"]').mouseenter(function () {
        console.log($(window).height());
    })
});

也用这个

jQuery(function($){
  $(window).ready(function(){
    console.log($(window).height());
  });
  $(window).on('resize',function(){
    console.log($(window).height());
  });
});

谷歌浏览器

jsfiddle:667

我的网站(wordpress):12024 – 多变的

Mozilla的

jsfiddle:602

我的网站:585

我敢肯定,我已经添加strict doctype.

我找到了this explanation

$(window).height() is the height of the viewport that shows the
website. (excluding your toolbars and status bar and stuff like this)

$(document).height() is the height of your document shown in the
viewport. If it is higher than $(window).height() you get the
scrollbars to scroll the document

我认为在我的网站上结果$(window).height()是滚动条在chrome上滚动文档(我的网站有一个很长的页面).如果是这样,我怎样才能在我的网站上获得视口的高度,是否有另一种方法可以获得每个浏览器(chrome,mozilla,opera等)视口的相同结果(实际)高度?

注意:我不认为使用screen.height因为它可以导致屏幕显示(包括浏览器的工具栏)

最佳答案
调试这个宝宝花了我几个小时/天,但我终于明白了.信不信由你,但我没有这样的错误!多么讨厌的bug.

我不是说你有确切的问题,但是,这个线程正是我所面对的.我100%确定我的html设置为严格.

但是,只要我在Chrome中执行“Inspect element”,严格DOCTYPE的实际定义就消失了.所以我检查了其他网站,我立刻意识到有一些极端可疑的事情发生,这不应该发生.谁吃了我严格的doctype?

不仅如此,我注意到HEAD的内容已移至< body>和其他奇怪的事情正在发生.

我做了任何合理的人类会做的事情,我推测我所有的时间都浪费在这个愚蠢的UTF-8 BOM上,因为我过去曾经遇到过很多问题.哦,男孩,我是对的.

在我切换到没有bom的UTF-8之后,一切都开始完美无缺.请注意,有趣的是:我的网站似乎100%工作,即使是混乱的HTML(我从未注意到浏览器解释错误).

为什么我的文件在第一时间用bom编码为UTF-8&为什么它甚至会影响浏览器?我不知道.

猜你在找的jQuery相关文章