javascript - 标题 div 在水平滚动时跟随其他固定 div

标签 javascript jquery html css frontend

我尝试制作一个 jQuery 脚本,使一个 div 跟随另一个固定的 div。但我没有成功。

这是 html:

<div class="masterholder">
 <div class="item">
  <div class="headeritem"></div>
  <div class="bodyitem"></div>
 </div>

 <div class="item">
  <div class="headeritem"></div>
  <div class="bodyitem"></div>
 </div>

 <div class="item">
  <div class="headeritem"></div>
  <div class="bodyitem"></div>
 </div>
</div>

当我从顶部滚动 200px ($(window).scrollTop() > 200) 时,所有 ".headeritem" 都是“静态的”,但是当我水平滚动,我需要 ".headeritem" 跟在 ".bodyitem" 之后,意味着 ".headeritem" 总是在".bodyitem" 即使我水平滚动也是如此。

最佳答案

我想这就是您要找的:

HTML:

 <div class="masterholder">
 <div class="item">
  <div class="headeritem"></div>
  <div class="bodyitem"></div>
 </div>

 <div class="item">
  <div class="headeritem"></div>
  <div class="bodyitem"></div>
 </div>

CSS:

body {
  width: 6000px;
  height: 1550px;;
}

.masterholder {
  width: 3000px;
  height: 700px;
  border: 1px solid black;
}

.headeritem {
  position:fixed;
  width: 100px;
  height: 100px;
  border: 1px solid red;
}

.bodyitem {
  width: 150px;
  height: 100px;
  border: 1px solid green;
}

.sticky {
  position: fixed;
}

JS:

    $(window).scroll(function(){
    if($(document).scrollLeft() > 200) {
    $('.bodyitem').addClass('sticky');
  } else {
    $('.bodyitem').removeClass('sticky');
  }
});

演示 fiddle : https://jsfiddle.net/Nicholas9114/w7pgckga/6/

关于javascript - 标题 div 在水平滚动时跟随其他固定 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44730951/

相关文章:

javascript - 如何在每次页面运行时重新加载 HTML 中的 YouTube 视频?

javascript - 使用 document.write() 插入脚本标签有什么好处(用于显示单个广告)?

javascript - 将图像复制到剪贴板

javascript - 如何将第二个模态定位在第一个模态之上?

javascript - bootstrap-modal - 向下滚动时如何阻止背景显示在顶部

javascript - 使用 JavaScript 解析来自外部站点的 json

Jquery anchor 悬停淡入淡出

javascript - 如何以 Angular 从 azure 事件目录获取用户的组名?

javascript - 显示/隐藏带有基于选中的复选框的数据属性的 div

javascript - Ajax 请求被 onClick 请求覆盖