首页 > 解决方案 > 制作一个 Class 或 ID 以停止监听全局滚动事件

问题描述

所以我在这个页面https://www.pacificotest.com.pe/工作。
- 当有人滚动页面时,键入“Clinica”时出现的框移动不是绝对的,当我将其更改为绝对时它仍然会继续移动。
- 有什么办法可以让那个盒子不听滚动事件,这样它就不会四处移动。

当你向下滚动一点
当你快速向上滚动时

我用以下代码解决了第二个问题:

JS:

$(function() {
  $('.autocomplete-suggestions').each(function(i) {
    $(this).addClass('fix-searcher-' + (i + 1));
  });
});

$(window).scroll(function() {
  const emergencyBarHeight = 40;
  if ($(window).scrollTop() >= emergencyBarHeight) {
    $searcher1.removeClass("fix-searcher1").addClass("fixed");
    $searcher2.removeClass("fix-searcher2").addClass("fixed2");
  } else {
    $searcher1.removeClass("fixed").addClass("fix-searcher1");
    $searcher2.removeClass("fixed2").addClass("fix-searcher2");
  }
});

CSS:

.fixed{
position: fixed ! important;
top:100px ! important;
}

.fixed2{
position: absolute ! important;
top:430px ! important;
z-index:100 ! important;
}

.fix-searcher1{
position: fixed ! important;
top:140px ! important;
}

.fix-searcher2{
top:490px ! important;
z-index:100 ! important;
}

当我从所有文档中删除滚动全局事件时,它解决了问题,但其他元素也会停止,所以我希望只为框停止滚动。

标签: javascriptjqueryhtmlcssliferay

解决方案


推荐阅读