【发布时间】:2014-09-12 12:18:06
【问题描述】:
我正在创建工具提示的动态位置,我首先在 jsfiddle 上测试了代码,然后将我的代码放到我的网站上(在 localhost 上使用 wordpress 构建),在 jsfiddle 上我的脚本是有效的,但是当我把代码放到我的网站上时,它是因为$(window).height() 的结果不同,所以不起作用(在 chrome 上不是动态的)。您可以检查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。
$(window).height()是显示 网站。 (不包括你的工具栏和状态栏之类的东西)
$(document).height()是文档中显示的高度 视口。如果它高于$(window).height(),你会得到 滚动条来滚动文档
我认为在我的网站结果$(window).height() 是滚动条来滚动 chrome 上的文档(仅供参考我的网站有一个长页面)。如果是这样,我怎样才能在我的网站上获得视口的高度,是否有另一种方法可以获得每个浏览器(chrome、mozilla、opera 等)的视口的相同结果(实际)高度?
注意:我不认为使用screen.height,因为它会导致屏幕显示(包括浏览器工具栏)
【问题讨论】:
-
不使用 jQuery(document).ready,你可能想试试 $(window).load(function(){...});
-
@rontornambe :我用过,没有变化。在 wordpress 上使用
jQuery而不是$仅供参考,jQuery 的典型$快捷方式不起作用。 -
感谢 WP 提示。
标签: jquery wordpress google-chrome