首页 > 解决方案 > 保持水平滚动位置页面到页面

问题描述

我的网站上有一个水平滚动div菜单。

我的问题是,当单击一个菜单项并且用户进入包含菜单的下一页时,它不记得水平滚动位置。重要的是显示活动菜单项,而无需用户滚动以再次找到它。

我想div在所有页面上定位,以便它记住菜单栏中的水平滚动位置。我做了很多 JavaScript 调查,但没有找到类似的解决方案。其他论坛用户指出使用 cookie 是必要的。也许我只是不知道如何表达我的关键字?任何帮助将不胜感激!

水平滚动div

我找到了下面的代码,我不认为写这个:

document.addEventListener('DOMContentLoaded', function() {
  var sep = '\uE000'; // an unusual char: unicode 'Private Use, First'

  window.addEventListener('pagehide', function(e) {
    window.name += sep + window.pageXOffset + sep + window.pageYOffset;
  });

  if (window.name && window.name.indexOf(sep) > -1) {
    var parts = window.name.split(sep);
    if (parts.length >= 3) {
      window.name = parts[0];
      window.scrollTo(parseFloat(parts[parts.length - 2]), parseFloat(parts[parts.length - 1]));
    }
  }
});

它记住从一页到另一页的垂直页面位置。但是,我想针对特定的 div 或元素来记住水平滚动。

标签: javascriptcss

解决方案


推荐阅读