我一直在使用 jQuery 的 .height() 函数来计算视口高度,然后调整 css 以在窗口内定位 div。
在我切换到 jQuery 1.9.1 之前,这一切都很好,现在它已经停止运行了。我在 1.9.1 和 1.8.2 之间尝试了一些来回测试,关闭和打开其他 jQuery 函数,看看是否可能存在一些冲突,但在 1.8.2 中一切正常,但 window.height 代码在1.9.1
我的基本代码如下,我希望有人能告诉我我可能需要做哪些不同的事情才能使其与 1.9.1 一起工作(由于网站内的其他功能,我更喜欢使用它,此代码用于仅限主页)。第一个设置具有完整背景图像的 div 的高度,第二个将一些文本放置在顶部。
var splashpos = $(window).height() - 121;
$('#splash').css({"height": splashpos + "px"});
var splashttlpos = $(window).height() - 308;
$('.splashttl').css({"top": splashttlpos + "px"});
谢谢
附加位
将我的普遍评论添加回问题本身。文档类型设置为 html <!DOCTYPE html>
。#splash div 设置为 position:relative,.splashttl div 设置为 position:absolute。页面设置 body (100% width) -> div#splash (100% width) -> div.wrap (90% width for content) -> div.splashttl (位置:绝对出现在右下角)。
jQuery 代码,第一部分是设置启动高度到该背景图像仅覆盖视口,向下滚动显示整体白色背景。第二部分是调整 position:absolute 的顶部值,使 div 位于视口底部的正上方。
再一次,它使用 jQuery 1.8.2 可以完美运行,但不适用于 jQuery 1.9.1(我已经关闭了所有其他脚本以消除冲突,但无济于事)。我在 jQuery Migrate 脚本中添加了它,它可以工作。
所以谁能告诉我 .height() 在 1.8.2 和 1.9.1 之间发生了什么变化。我需要用我的代码修改什么?我在 jQuery 文档中找不到任何参考资料。
解决(或多或少)
一时兴起,我决定尝试更改脚本在网页上出现的顺序。当我将内容滑块的代码移到启动代码下方时,它开始工作。我不知道为什么,因为当我注释掉内容滑块脚本时它没有任何区别,但是当我将它移低时它确实如此。
这对我来说是个谜,但现在一切正常。感谢我收到的所有反馈。