javascript - 如何仅在水平滚动后定位 div 元素?

标签 javascript css scroll

我正在寻找一种方法,仅在向右滚动大约 100% 后才将页面的 #header 元素定位为“固定”。

如果剩下 < 100% 那么

#header { display:none; }

如果左 > 100% 那么

#header { position:fixed, top:0, left:0, width:50px, height:50px, color:red, z-index:9999; }

我试过这个:

<script type='text/javascript'>
var header = $("#header");
$(document).scroll(function() {
    if($(this).scrollLeft() > 1920) {
        header.css({"position" : "fixed", "top" : "0", "left" : "0", "width" : "50px", "height" : "50px", "background" : "red", "z-index" : "9999"});
    } else {
        header.css({"display" : "none"});
}
});
</script>

但它不起作用。是否可以使用百分比而不是像素数量来设置条件? (100% 而不是 1920)

你能帮帮我吗?

最佳答案

尝试用“window.innerWidth”替换 1920。这是浏览器窗口宽度的 JS DOM 变量。

关于javascript - 如何仅在水平滚动后定位 div 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037680/

相关文章:

css - 减少 Bootstrap 标题中的底部边距

javascript - Jquery window.scrollTo 导致页面卡住

javascript - 如果我在 DOM 上附加两个相同的事件,执行顺序是什么

javascript - 按下 Enter 键时如何触发 Tab 按键?

带有粘性标题的 HTML 表格 - 单元格宽度问题

Eclipse - 避免关闭文件时的滚动行为

javascript - 寻找适用于移动设备的 jQuery 元素滚动插件

javascript - 为什么以 ES6 方式定义 React 组件构造函数行不通?

javascript - Javascript 中的无限变量

html - Bootstrap 悬停和切换折叠菜单在 Rails 应用程序中不起作用