有条件的页面向下滚动

时间:2015-12-23 18:07:14

标签: javascript html html5 jsp

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

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

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>,但我不确定如何正确实现这一点。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

我假设这是一个普通的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>