如何修改我的javascript,使其少滚动60px?

问题描述 投票:0回答:1

我有一个iFrame,使用一些js在一个自动调整框架大小的Advanced iFrame中实现滚动。

我的问题是,虽然下面的代码很好用,但它滚动得太远了。它没有考虑到我的菜单栏是60px高。

问题可以在这里看到 https:/www.rosentreter.websitefamily-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;
       });
      }
   });
});
javascript iframe offset
1个回答
0
投票

当我修改了这部分代码后,你的步伐工作得很好

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;
          });
      }
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.