$(document).height和$(window).heaght都返回相同的值-使用的是正确的doctype
$(document).height and $(window).height both return the same value - proper doctype in use
我正在设置一个浮动动作按钮,就像在谷歌的新材料设计中一样。这是我现在使用的jQuery:
$(document).ready(function () {
var doc = $(document).height();
var height = $(window).height();
var offset = height - 20 ;
console.log(doc);
console.log(height);
console.log(offset);
$("#floating_nav_container").css("top",""+ offset +"px");
});
我希望能够检测视口的高度,并使我的动作按钮显示在底部上方20px。
我的"floating_nav_container"是引导程序"col-md-6"父div中的一个绝对定位的div,我为测试目的设置了900px的固定高度。
有时$(document).height()
会得到900的正确值,而其他时候则不会;CCD_ 2总是与文档1相同。
我的doctype是:
<!DOCTYPE html>
我在这里读到的是当这两个方法返回相同值时的常见修复方法。
编辑:我正试图在一个3列的布局中实现这一点。"floating_nav_container"仅适用于中间列。将它的CSS设置为底部为20px的固定位置是不起作用的,因为根据视口的大小,动作按钮可能会显示在第三列或列外。
如果将"floating_nav_container"设置为固定的,并将其设置为中间列的子级代码,则其行为与在DOM顶部设置的行为相同。
我选择了将它完全放置在中间列中,因为无论浏览器如何调整大小,它都会留在父容器中。问题是,当页面超出视口的高度时,按钮就会消失。
我希望找到一种计算高度的方法,并让它动态地确定任何设备与视口底部的偏移量。
将#floating_nav_container移到父div之外,并使用@floribon的解决方案。此外,如果你希望它总是离底部20像素,即使在滚动时也要将位置设置为固定。
#floating_nav_container{
position:fixed;
bottom:20px;
}
我在这里为你加了一把小提琴https://jsfiddle.net/9v9u8ybp/
我建议你在CSS中完全这样做,以防止任何错误:
#floating_nav_container {
position: absolute;
bottom: 20px;
}
对于元素的视口感知定位,请使用CSS而不是jQuery或js,如下所示:
#floating_nav_container {
position: fixed;
bottom: 20px;
}
我使用这里提出的一些解决方案找到了一个最适合我的解决方案。如果其他人将来遇到类似的问题,这里是我所做的一切,让它变得最简单。
我将"#floating_nav_container"从中间列中移出,这样它就不是任何东西的子项。
"#floating_nav_container"上的CSS如下:
#floating_nav_container {
position:fixed;
bottom:20px;
right:40px;
z-index:10;
}
这使它能够正确定位以供移动使用,但一旦设计缩放到桌面大小,就不会将按钮保持在中间列中。
为了确保按钮始终位于中间一列,我使用媒体查询将其"正确"设置为31%。
@media (min-width: 992px) {
#floating_nav_container {
right:31%;
}
}
我的布局是用bootstrap制作的,第三列是"col-md-3",它总是视口可用宽度的25%。通过将"#floating_nav_container"的右侧设置为31%,我使其能够在设计缩放时始终隐藏在中间列中。
一旦右列被删除,只剩下中间一列,那么"#floating_nav_container"的默认css就会启动并处理显示。
这完全消除了我使用jQuery的需要。
- 分析高度属性时出现意外值{{specs.height}}.index.html
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- Phonegap css height%不适用于android 4.2-4.3
- $(document).height和$(window).heaght都返回相同的值-使用的是正确的doctype
- $(window).height() inside iframe?
- document和window height返回相同的值
- HTML5画布y-height不正确
- TinyMCE/IE9/DIV with Width/Height/ContentEditable/如何阻止DIV选择
- 如果screen.height低于460px,请删除一个类
- jQuery Height 无法正常工作
- 使用 angularJs 修改 css.height 会导致 Internet Explorer 无法滚动到页面底部
- $('body').height()变化不可预测
- 设置doctype会破坏我的css和javascript
- JQuery .height() returning 0
- 将所有访问过的网站颜色重置为所有最新浏览器和所有doctype(xhtml,html,html5)的默认颜色css设置
- 当使用严格的DOCTyPE定义时,jQuery可拖动性得到扩展
- 把手包裹<!DOCTYPE html>
- 未捕获的语法错误:意外的标记<在<!DOCTYPE html>
- $(window).height()返回文档高度(但声明了doctype)