java - 自动滚动到 HTML 中的元素

标签 java html xml xslt

我有一个包含大量测试数据的 XML。我使用 XSLT 在浏览器中以 HTML 形式呈现此数据。每个测试都有一个包含测试步骤的表。每次运行测试时,如果通过或未通过,表都会更新表中的数据。然后浏览器重新加载页面。我希望它总是跳到当前正在处理的表上。我怎样才能实现这个目标?我的 XSLT 文件:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
  <head>
  <script type="text/javascript">


    var testnum = 0;
     if(document.cookie.indexOf('testnum=') !== -1) {

     testnum = document.cookie.split('testnum=')[1].split(';')[0];

    document.cookie = 'testnum=' + testnum + 1 + ';expires=Sat, 14 May 2015 18:00:00      GMT";';
   } else {

      document.cookie = 'testnum=1;expires=Sat, 14 May 2015 18:00:00 GMT";';
   }

var w = $(window);
var row = $('#test').find('tr').eq( testnum );

if (row.length){
    w.scrollTop( row.offset().top - (w.height()/2) );
}

</script>

  <title>HMI Automotive Testing</title>
  <link rel="stylesheet" type="text/css" href="report.css" />

  </head>

  <body>

    <center>
    <h1>HMI Automotive Testing</h1>

      <br></br>
      <div style="height:650px;width:824px;border:1px solid;overflow:auto;">

            <table border="1" id ="test">
            <xsl:for-each select= "TestSuite/TestCase">

                        <tr>
                        <b><xsl:value-of select="@name"/></b>

                        </tr>

                        <xsl:for-each select="Verification|Command">
                                <tr>
                                <xsl:choose>
                                        <xsl:when test="contains(name() , 'Verification')">

                                        <td>Verification <xsl:value-of select="@type"/></td>
                                        <td><xsl:value-of select="@status"/></td>
                                </xsl:when>
                                <xsl:when  test="contains(name() , 'Command')">
                                        <td>Command <xsl:value-of select="@type"/></td>
                                        <td><xsl:value-of select="@status"/></td>
                                </xsl:when>
                                </xsl:choose>

                                </tr>


                        </xsl:for-each>

              </xsl:for-each>
              </table>  
            </div>
      </center>



  </body>
  </html>

</xsl:template>

</xsl:stylesheet> 

最佳答案

使用id属性。

<table id="result1">
...
</table>

然后,如果您将页面重定向到your_page.html#result1,浏览器将滚动到此表格。

关于java - 自动滚动到 HTML 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16541434/

相关文章:

java - 如何将帕斯卡三角生成器从二维数组转换为一维数组?

java - JDK7 现在可以安全使用吗?

java - 如何从JAVA中混合有字符的文件中读取整数?

javascript - 单击编辑按钮时如何使用 jquery 从循环表的每一行传递 id?

javascript - 下拉 JQuery 在没有主页的情况下无法工作

c# - 如何正确地为<audio>提供数据?

xml - 添加到行为异常的 Perl 散列

java RMI新手——如何确保除通过RMI访问之外的所有服务器代码都不能被客户端访问

java - AAPT:错误:找不到属性 android:clipToOutline

java - Android - 单击按钮时播放声音 - 强制关闭