• ベストアンサー

テーブルの位置情報

javascriptで現在のテーブルの位置を知ることは可能なのでしょうか?また各セルの位置情報も同じく知ることはできるのでしょうか?(幅や高さではなく、絶対位置です) よろしくご指導お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 387
  • ベストアンサー率66% (40/60)
回答No.2

Netscape 4.x の場合ですと、layer タグで括ってレイヤーの left プロパティと top プロパティで代用するしかないと思います。 <layer id="table1"> <table align="center"> <tr> <td>あ</td> <td>い</td> </tr> <tr> <td>う</td> <td>え</td> </tr> </table> </layer> <form onsubmit="return false"> <input type="button" onclick="alert( '左 : ' + document.layers[ 'table1' ].left + 'px、上 : ' + document.layers[ 'table1' ].top + 'px' )" value="テーブルの位置を取得"> </form> しかし、困った事に左位置が期待している値にならないようです。 ※ テーブルの横幅は(表示されている幅に関わらず) 「 ウィンドウ幅いっぱい 」-「body 内側のマージン値」となっている模様 更に困った事に、レイヤーは Netscape 6 で廃止されています。 Netscape 6.x の場合ですと、以下のようにすると取得できます。 <table id="table1" align="center"> <tr> <td>あ</td> <td>い</td> </tr> <tr> <td>う</td> <td>え</td> </tr> </table> <form onsubmit="return false"> <input type="button" onclick="alert( '左 : ' + document.getElementById( 'table1' ).offsetLeft + 'px、上 : ' + document.getElementById( 'table1' ).offsetTop + 'px' )" value="テーブルの位置を取得"> </form> これで取得してもやはり左位置は期待している値にはなりません。 このサンプルは IE 6 でも動作しますが、その場合の左位置は期待した値になりますので、 やはり、Netscape ではテーブルの実際の幅は 「 ウィンドウ幅いっぱい 」-「 body 内側のマージン値 」として扱われているようです。

sakotec
質問者

お礼

丁寧な回答ありがとうございました!Netscapeはちょっと違うんですね。他の対応を考えます。

その他の回答 (1)

  • 387
  • ベストアンサー率66% (40/60)
回答No.1

左上点の位置でよければ、offsetLeft プロパティで左からの位置が、 offsetTop プロパティで上からの位置が取得できます。 <table id="table1" align="center"> <tr> <td>あ</td> <td>い</td> </tr> <tr> <td>う</td> <td>え</td> </tr> </table> <form onsubmit="return false"> <input type="button" onclick="alert( '左 : ' + document.all[ 'table1' ].offsetLeft + 'px、上 : ' + document.all[ 'table1' ].offsetTop + 'px' )" value="テーブルの位置を取得"> </form>

sakotec
質問者

補足

ご回答ありがとうございます。補足質問なのですが、Netscape4の場合offsetLeftが使えないのですが、なにか代用のものがあればお教えください。よろしくおねがいします。

関連するQ&A

  • テーブルの位置について

    3列以上のテーブルの位置についてお伺いします。 以下をxhtml,cssで実現するにはどのように指定すればよいのでしょうか? ・テーブルの最終列は画面上の一番右に寄せる ・最終列以外の列が、画面の中央にくるようにする  (各列の幅を吟味して、位置を自動調整させたいです) どうかお願いいたします。

    • ベストアンサー
    • HTML
  • テーブルの位置を細かく指定したい。

    現在、テーブルを組み合わせたサイトを作っていまして そのテーブルの位置に悩んでおります。 背景固定で一つ大きめのイラストを置いていまして そこに合わせてテーブルの位置を細かく調整したいのです。 center、left、rightの偏った3種類の位置じゃなく 左から200ピクセル程度の位置にテーブルを置きたいのです。 この様なタグはありませんか? これはCSSなどて指定するしかないのでしようか?

    • ベストアンサー
    • HTML
  • テーブルの中にテーブルを入れ込んで・・・

    最近、質問ばかりしてるような気がするのですが・・・ m(__)m 親テーブルのセルの中に子テーブルを入れ込んで 子テーブルを親テーブルのセルの縦位置を中央に表示させたいのですがうまく行きません NN6.Xでは表示されるのですがIEだと上寄せに 表示されてしまいます。 これはIEの仕様でしょうがないのでしょうか? (↑けしてダジャレではありません(^^ゞ) セル内配置でテキストや画像は上手く 中央位置に出来るのですが子テーブルが出来ないです なぜでしょうか? 参考のためにソースコードを --------------------------------- <table width="100%" border="1" height="100%"> <tr> <td align="center" valign="middle"> <table width="50%" border="1" height="50%"> <tr> <td> </td> </tr> </table> </td> </tr> </table> ------------------------------------- よろしくお願いします。 スタイルシートやjavascriptを使ったやりかた とかもあるのでしょうか?

    • ベストアンサー
    • HTML
  • テーブル内の画像を横並べにしたい

    HTMLテーブルの学習中の初心者です、よろしくお願いいたします。 テーブル内に画像を配置すると縦並びになってしまいます。 これを横並びにしたいのですが、(添付画像参照ください) 同じテーブルの上段には既に列を分けてある1行目があります。 問題の2行目、列を分けてそれぞれのセルに画像を当て横幅を指定 という方法ですと上段の横幅に揃ってしまうのか、幅が大きく広がり過ぎてしまいうまくいきません。 テーブル以外にも方法はあるようなのですが 現在テーブルの学習をしているためテーブルでのやり方を調べています。 初心者ですので解りやすいもっともシンプルなやり方ございましたら ぜひご指導お願いいたします。

  • EXCEL97での位置情報取得に

    エクセル97での位置情報の取得について エクセルのVBAにて、セルを無視したシート内の位置情報を 取得することは可能でしょうか? たとえば一番左上を(0,0)とすると(50,100)などの X軸、Y軸の数字の取得です。 あるA画像をX軸50 Y軸100の位置に挿入して、   B画像をX軸50 Y軸150の位置に挿入して、   C画像をX軸50 Y軸200の位置に挿入したいと考えています。 そのようなことは可能でしょうか? セルを無視した位置情報の取得の仕方を教え下さい。 参考のURLでも構いません。宜しくお願い致します。

  • エクセルでセルの位置情報を返す数式を教えてください

    エクセルでセルの位置情報を返す数式を教えてください。 エクセルでセルの位置情報を返す数式を教えてください。 たとえば以下のような表がある場合、Offset関数でC4の値を 出したい場合は、offset(A1,3,2,1,1)となります。 しかし、A1のリストの位置が不明のためこの位置を反映することのできる 数式を教えていただけると助かります。 よろしくお願い致します。 A B C 1 リスト 2 あ 10 20 3 い 30 40 4 う 50 60

  • 位置情報

    困っています。 機種変更後、googleやlineのアカウントを移動した所です。 現在の不具合はlineでの位置情報が使えない事です。 googleマップは単体では普通に使用可能です。 line上からエラーが出ます。 エラーメッセージ 位置情報をシェアできません。。googleplay開発者サービスをインストールしてからお試し下さい。 機種はPC-TS508FAM Android6.0.1 位置情報はonで高精度 lineにも位置情報取得を許可してあります。 初期設定時からあるウィジェットのニュースが一時的に使用できませんというエラーが出たままなのも同じ原因でしょうか。 lineでの位置情報はタブレットを使う上での必須項目ですので、どうやれば使えるようになるか、お教え頂きたく存じます。 宜しくお願い致します。 ※OKWAVEより補足:「NEC 121ware :Android」についての質問です

  • プルダウンメニューの位置がずれてしまいます

    質問させてください。 メニューボタンにマウスオーバーすると下にサブメニューが表示される、プルダウンメニューを作成しています。(階層メニューというのでしょうか?) Dreamweaverでレイヤーを使って作っているのですが、サブメニューの表示位置がずれてしまって困っています。 以前ご質問させていただき、一番外のTableを中央揃えにしているため、レイヤーの「position」が”absolute”だと画面の大きさによって位置が変わってしまうことがわかりました。 そこで”relative”にすればいいのかと思ったのですが、そうするとDreamweaverの「レイヤー」(←表示/非表示やz-indexを設定したりするプロパティ)から消えてしまうのです。 たぶん、レイヤーとして認識されていないのだと思います。 自分なりに調べ、Javascriptでブラウザの幅-Tableの幅÷2を求め、そこを基点にして”absolute”にすればいいというところまではわかったのですが、知識不足のためいろいろ試してみてもJavascriptエラーになってしまって・・・。 どのように書けばいいのかお教えいただけると、大変助かります。 よろしくお願いいたします。

  • エクセル97での位置情報取得について

    エクセル97での位置情報の取得について 再度質問させていただきます エクセルのVBAにて、セルを無視したシート内の位置情報を 取得することは可能でしょうか? たとえば一番左上を(0,0)とすると(50,100)などの X軸、Y軸の数字の取得です。 あるA画像をX軸50 Y軸100の位置に挿入して、   B画像をX軸50 Y軸150の位置に挿入して、   C画像をX軸50 Y軸200の位置に挿入したいと考えています。 画像を挿入した後の位置情報の取得ではなく、位置情報を指定してから その場所に画像を挿入したいと考えています。 そのようなことは可能でしょうか? セルを無視したワークシート上のX軸、Y軸の 位置情報の取得の仕方を教え下さい。 参考のURLでも構いません。宜しくお願い致します。

  • cssでテーブルの位置を設定するには?

    <table border="1" align="left">でテーブルの位置を競ってすることはできたのですが スタイルシートで行いたいです。 そもそも他のテーブルはすべて中央に寄せたいため、 table { margin-left: auto; margin-right: auto; } としています。 そのうえで、任意のテーブルのみ左に寄せて表示したいので table.test { align:left; } としたのですが、うまくいきません。 ---------------------------------------------------------- <html> <head> <title>test</title> <STYLE type="text/css"> table { margin-left: auto; margin-right: auto; width: 40%; } table.test { width: 80%; align:left; } </STYLE> </head> <body> <table border="1"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" align="left"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" class="test"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> </body> </html> ----------------------------------------------------- このコードだと、 table.test { width: 80%; align:left; } の、 width: 80%; の部分は認識されるようですが、align:left;は無視されます。 スタイルシートでテーブルの位置を設定する方法をご教授ください。

    • 締切済み
    • CSS