条件页向下滚动

Conditional page scroll down

本文关键字:滚动 条件      更新时间:2023-09-26

我有一个JSP页面,它包含一个搜索字段,下面是一个搜索结果表。当用户按下搜索按钮时,将通过javaservlet处理请求,并在表中重新加载返回结果的页面。我需要页面在页面加载后向下滚动到表格,只有在搜索完成后。

我研究了这个主题并找到了这个解决方案

onclick="document.getElementById('searchtable').scrollIntoView();"

我把它放在搜索按钮中,它可以工作,但当按下按钮时,页面会被重新加载,重新加载的页面从顶部开始,这是我的问题。

这就是我的

<div id="searchtable">  
<table>
<c:forEach items="${tableheader}">
<!-- search results go here -->
</c:forEach>

我想做的是添加一个

<c:if test="${tableheader not equal null}">document.getElementById('searchtable').scrollIntoView();</c:if>

进入<c:forEach>,但我不确定如何正确地实现这一点。

任何帮助都会很棒。

我假设这是一个通用的JSP

<form onsubmit='getTable'>
      <button type='submit'>Get Table</button>
</form>

因此,当您单击时,页面会重新加载,并且会突然出现一个表,对吗?

这可以用JS来修复,比如:

<script>
      (function autoScroll(){
          document.getElementById('searchtable').scrollIntoView();
      })()
</script>

或者更确切地说,如果表中包含行,则滚动到该表(为了方便起见,使用jQuery)

<script>
      (function autoScroll(){
          if( $('#searchtable tbody tr').length > 0 ){
              document.getElementById('searchtable').scrollIntoView();
          }
      })()
</script>