移动(不是滚动)锚点使用javascript,在函数中的元素被隐藏/取消隐藏

move (not scroll) to anchor point using javascript, in function where elements are being hidden / unhidden

本文关键字:隐藏 函数 取消 元素 javascript 滚动 移动      更新时间:2023-09-26

我有一个小的应用程序,在同一个页面,我使用JavaScript隐藏一个unhide元素通过添加和删除隐藏类,为了使它看起来像你要去一个新的页面。问题是,它并不总能把你带到新"页面"的顶部。有人告诉我,最聪明的方法可能是使用锚点。我不想要任何平滑的滚动或任何东西,因为它应该看起来像你已经去了一个新的页面。似乎有很多人在这里建议如何做花哨的滚动动画,但我想要的只是视图捕捉到页面的正确位置。目前,我只有一个锚点。

我的JavaScript的一个典型的位,我需要添加一个'移动到锚'的代码位;

$("defects_found").click(function() {
  if (check_checklist()) {
    $("#identify_defects").removeClass("hide");
    $("#check_defects").addClass("hide");
    $("#nil_defects").removeClass("was_pressed");
    $("#defects_found").addClass("was_pressed");
    $("#details_text")[0].required="true";
    $("#select_defects_error1").addClass("hide");    
  } else {
    $("#select_defects_error1").removeClass("hide"); 
  }
});

无论隐藏/未隐藏的元素是什么,我都想移动到页面顶部的同一锚点。我把锚点放在导航栏的html下面;

<a class="scroll" name="anchor"></a>

对于即时滚动(没有滚动动画),使用滚动条设置元素的scrollTop属性。在这种情况下,听起来你想要document.body.scrollTop = 0;