javascript - 将 marginLeft 更改为滚动父 div 中的子 div

标签 javascript jquery html css

我试图将一个 position: absolute div 放在滚动的 div 中,并使其在向左或向右滚动时保持在左侧。这是因为我希望 div 像一个单元一样移动(当向左、向右、顶部、底部滚动时)。它在低于 2K 的屏幕上运行良好,但在高清屏幕(即 2k、3k、4k...)上,子 div 跳来跳去,看起来很糟糕。

有更好的方法吗?我应该对高清屏幕的 CSS 进行哪些更改?

#parent {    
    overflow: auto;
    width: 100%;
    height: 100%;
    position: relative;
}
#child {    
    overflow: hidden;
    width: 20%;
    height: 100%;
    z-index:1;
    position: absolute;
}
<div id="parent">
    <div id="child"></div>
</div>
$("#parent").on('scroll', function (event) {
     $("#child")[0].style.marginLeft = this.scrollLeft+"px";
});

最佳答案

您可以使用 jQuery 的 css 函数来设置该值。并使用父元素作为 jQuery 对象来使用 scrollLeft() 函数:

$("#parent").on("scroll", function() {
    $("#child").css("margin-left", $(this).scrollLeft() + "px");
});

但我根本不会为此使用 jQuery。为什么不为此在 css 中使用 fixed 位置? Like in this example .它不应在任何屏幕上闪烁。

关于javascript - 将 marginLeft 更改为滚动父 div 中的子 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38461997/

相关文章:

javascript - 我收到以下错误 ReferenceError : document is not defined when running my html code in Cloud 9

javascript - 使用 Javascript 通过外部文件预填写表单

javascript - 在 Django 模板中安全地使用 JSON 和 JSON 中的 html

Javascript/jQuery 破坏了页面的格式

javascript - 可折叠菜单不起作用 - 参数 'SidebarController' 不是函数,未定义

javascript - 意外的 JavaScript 返回类型

javascript - JQuery/JavaScript : Replace element class if it has img child

javascript - 包含在框/表中的 jQuery.ripples

java - JSoup 转换后文本转换不正确

javascript - 单击按钮不会在 Chrome 中触发 javascript 函数,但在 IE 中工作正常