我怎样才能修改我的 javascript 以减少滚动 60px

How can I modify my javascript to scroll less by 60px

我有一个 iFrame,它使用一些 js 在自动调整框架大小的高级 iFrame 中启用滚动。

我的问题是,虽然下面的代码运行良好,但它滚动得太远了。它没有考虑我的 60 像素高的菜单栏。

选择字母后可以在此处看到问题https://www.rosentreter.website/family-tree/

如何修改代码 top.offset 以将其缩小 60px?我什么都试过了...

使用库jquery-1.7.2.min,我的代码如下:

$(function() {var iframeOffset = $("#gramps", window.parent.document).offset();
  $("a").each(function () {
    var link = $(this);
    var href = link.attr("href");
    if (href && href[0] == "#") {
      var name = href.substring(1)
      $(this).click(function () {
          var nameElement = $("[name='" + name + "']");
          var idElement = $("#" + name);
          var element = null;
          if (nameElement.length > 0) {
             element = nameElement;
          } else if (idElement.length > 0) {
             element = idElement;
          }
           if (element) {
             var offset = element.offset();
              window.parent.scrollTo(offset.left, offset.top + iframeOffset.top);
           }
           return false;
       });
      }
   });
});

当我更改这部分代码时,您的速度非常好

window.parent.scrollTo(offset.left, offset.top + iframeOffset.top-60);


完整代码

$(function() {var iframeOffset = $("#gramps", window.parent.document).offset();
  $("a").each(function () {
      var link = $(this);
      var href = link.attr("href");
      if (href && href[0] == "#") {
          var name = href.substring(1);
          $(this).click(function () {
              var nameElement = $("[name='" + name + "']");
              var idElement = $("#" + name);
              var element = null;
              if (nameElement.length > 0) {
                  element = nameElement;
              } else if (idElement.length > 0) {
                  element = idElement;
              }
               if (element) {
                  var offset = element.offset();
                  window.parent.scrollTo(offset.left, offset.top + iframeOffset.top-60);//Changed!!
              }
               return false;
          });
      }
  });
});