1

20 行のテーブルがあり、ページが読み込まれた 1 分後に行を上に移動 (最初の行の行をスキップ) したかったのです。

元:

  • イニシャル

行1 行2 行3

  • 最初のステオ

行2 行3 行1

  • 第二の状態

行3 行1 行2

  • 最終段階

行1 行2 行3

私はこのようなことをしていましたが、行の内容を置き換える方法がわかりません。可能であれば、ゆっくりと実行してください (徐々に行うのもよいですが、今は不可欠です)。

function roll()
 {     
    var oRows = document.getElementById('ultNot').getElementsByTagName('tr');
    var iRowCount = oRows.length;
    //repeat this iRowCount-1?
    for (i=iRowCount; i=2;;i--){
        var tempRow= oRows[i];
        var origRow;
        if (i=rowCount) {
            origRow=oRows[1];
        } else {
            origRow=cRows[i-1];
        }    
         var tempContent=origRow;
         //replace the contents of the rows
    }
 }

助けてくれてどうもありがとう


Razvan に感謝します。私が望んでいたことを行うためのコード全体(つまり、行の完全なグループを40秒後に1回ロールすることです):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
</head>
<body>
  <table id="ultNot" style="border: 1">
    <tbody>
      <tr>
        <td>First row</td>
      </tr>
      <tr>
        <td>Second row</td>
      </tr>
      <tr>
        <td>Third row</td>
      </tr>
      <tr>
        <td>Fourth row</td>
      </tr>
      <tr>
        <td>Fifth row</td>
      </tr>
    </tbody>
  </table>
  <input type="button" onclick="iniciaScroll()" value="Click" />
  <script type="text/javascript">
    window.setTimeout(function() {
        iniciaScroll();
        ;
    }, 40000);
  </script>
  <script type="text/javascript">
    var interval;
    var cont = 0;
    var sizeTable = document.getElementById('ultNot').rows.length;
    function roll() {
        var table = document.getElementById('ultNot');
        var rows = table.rows;
        var firstRow = rows[1];
        var clone = firstRow.cloneNode(true);
        table.tBodies[0].appendChild(clone);
        table.tBodies[0].removeChild(firstRow);
        cont++;
        if (cont == (sizeTable - 1)) {
            clearInterval(interval);
            cont = 0;
        }
    }
    function iniciaScroll() {

        interval = window.setInterval(function() {
            roll();
        }, 3000);
    }
  </script>
  <!-- end: portal_latestthreads -->
</body>
</html>
4

1 に答える 1

1

おそらくもっと良い方法がありますが、これが今まで思いついたすべてです:)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script type="text/javascript">
    function roll() {
      var table = document.getElementById('myTable');
      var rows = table.rows;
      var firstRow = rows[0];
      var clone = firstRow.cloneNode(true);
      table.tBodies[0].appendChild(clone);
      table.tBodies[0].removeChild(firstRow);
    }
  </script>
</head>
<body>
  <table id="myTable" style="border: 1">
    <tbody>
      <tr><td>First row</td></tr>
      <tr><td>Second row</td></tr>
      <tr><td>Third row</td></tr>
      <tr><td>Fourth row</td></tr>
      <tr><td>Fifth row</td></tr>
    </tbody>
  </table>
  <input type="button" onclick="roll()" value="Click"/>
</body>
</html>
于 2012-11-20T16:36:29.280 に答える