ビューポートの幅に応じて、テーブルを動的に作成し、特定のセル数の行で埋めようとしています。また、ページが読み込まれるときに画面の幅が何であれ調整されることを確認したいと思います(通常の画面サイズだけではありません)。
これが私がこれまでに試したことです。このコードはwindow.onload
関数内にあります:
JavaScript
var table = document.getElementById('instagram_table_body');
/* Number of elements per row */
var rowElems = Math.floor(screen.width / 152);
/* Number of rows */
var rowCount = Math.ceil(data.length / rowElems);
var globalCounter = 0;
for (var i=0; i<rowCount; i++) {
var tr = document.createElement('tr');
for (var j = 0; j < rowElems; j++) {
var td = document.createElement('td');
var img = document.createElement('img');
var a = document.createElement('a');
a.href = data[globalCounter].images.standard_resolution.url;
img.src = data[globalCounter].images.thumbnail.url;
tr.appendChild(td.appendChild(a.appendChild(img)));
globalCounter++;
}
table.appendChild(tr);
}
問題は、このコードは何も出力せずtr
、実際にはテーブル本体に追加されないことです。使用されているデータがそこにあり、有効であることはわかっています(これは AJAX 呼び出しからのものであり、通常の動的テーブルに表示すると正常に機能します。
問題は、子の追加プロセスまたはテーブルに行を追加する瞬間にあるようですが、まだそれを見つけることができません。
注: 私はできるだけ効率的にしようとしています。それが jQuery がない主な理由です。(実際にはandメソッドにのみ使用されます)$.get
$.post