• ベストアンサー

phpでタグの座標位置を取得することができるでしょうか

いつもお世話になります。 JavaScriptでならe.offsetTopで取得できますが、 phpでも同様なことはできないでしょうか。 $strHtml='<div id="abc">あああああ</div>'; print($strHtml); この後で、id="abc"の座標位置を取得して、 phpで、その値を使用して更に次のスクリプトを記載するなんてことはできないものでしょうか。 座標位置自体ブラウザが表示して初めて決まるものなのでそもそも無理なのでしょうか。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

そもそも無理と思います。 JavaScriptで取得するか、PHPで先に位置を決めておいて CSSの属性関連なんかで固定して書き出せば一応判断はできると思いますが。 <input type="image" />はクリック位置が送信されるので 頑張れば取れるのかもしれませんが現実的ではないと思います。

rqg2010
質問者

お礼

tany180sxさん、早速お返事ありがとうございます。 >そもそも無理と思います やはりそうですか。 どうも、ありがとうございました。

関連するQ&A

  • オブジェクトの座標位置の取得

    お世話になります。 苦労されている方が多いの検索をすると多くかかりますが、やはりわかりません。 それで、質問させてもらいました。 何とかよろしくお願いいたします。 <body>  あああああああああああ  <div id="2">   いいいいいいいいいい    <div id="3">     ううううううううううううう    </div>   いいいいいいいい   </div> </body> の様な場合、内側の<div>のy座標、x座標の絶対座標-<body>からの座標 を取得することがどうもできません。 Div3Obj=document.getElementById('3'); alert('Div3Obj.offsetTop='+Div3Obj.offsetTop); とすると、id='2'の<div>からの相対位置を取得してしまいます。 <body>からの位置を取得できないものでしょうか。 よろしくお願いいたします。

  • TABLEタグ内に入った項目の座標取得について

    オブジェクトの座標位置を取得する"offsetTop"はTABLEタグ内のものには使えないとありました。 (参考質問URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1556067) 参考URLの回答例を見ながら、簡単なソースを組んでみたのですが、結果が「0」となってしまい値がとれていません。 (TABLEタグにはいっていなければ取得できます) 何がいけなくてこうなってしまっているのかわからず、大変悩んでいます。 お分かりになられる方、ご教授お願いいたします。 (文字数制限の関係で、インデントがとれてません。みにくくてごめんなさい) <xmp> <html> <head> <script language="JavaScript" type="text/javascript"> <!-- function absOffsetTopR(el){ if(el.offsetParent.tagName.toLowerCase()=="body"){ return el.offsetTop; }else{ return el.offsetTop+absOffsetTopR(el.offsetParent); } } function absOffsetTop(id){ var el=document.getElementById(id); if(el.offsetParent.tagName.toLowerCase()=="body"){ return el.offsetTop; }else { return absOffsetTopR(el); } } //--> </script> </head> <body> <form name="fm_test"> <table name="testTable" border="1" width="150"> <tr> <td align="center"> <input type="text" size="20" name="testText"> <script language="JavaScript" type="text/javascript"> <!-- zahyo = absOffsetTop("testText"); document.fm_test.elements["testText"].value=zahyo; //--> </script> </td> </tr> </table> </form> </body> </html> </xmp>

  • 座標を取得して、後でその位置までスクロールさせる?

    「詳細を表示」ボタンをクリックして非表示にしていたレイヤーを表示し、 表示されたレイヤー内の「詳細を閉じる」をクリックして非表示にするものを作りました。 レイヤーを非表示にした時に、ページのスクロール位置を 「詳細を表示」ボタンをクリックした時の位置に戻したいのですが どのようにすればできるのでしょうか。 (下のソースには関係する部分だけ抜き出してますが、実際にはページ内にいろんな情報が載っていて、非表示にした時に中途半端な位置にスクロールされた状態になってしまうと元いた場所がわからなくなってしまうので、元の場所に戻したいのです・・) 「詳細を表示」ボタンをクリックした時のY座標を取得して、詳細を閉じた時にそのY座標まで「詳細を表示」ボタンがくるようにスクロールさせる???とか考えて、それっぽいものを書き加えたりしてみたのですが、知識がなさすぎて全く上手くいきません…。 どなたかご教授くださいませんでしょうか。 よろしくお願いいたします。 <script type="text/javascript"> <!-- function Hyo(id, visible) { var style = (visible ? 'block' : 'none'); document.getElementById(id).style.display = style; } // --> </script> <a href="#" onclick="Hyo('cont1', 1)"><img src="images/button.gif" alt="詳細を表示" width="45" height="20" border="0" /></a> <div id="cont1"> 文章が入る(~中略~)文章が入る <a href="#event" onclick="Hyo('cont1', 0)">詳細を閉じる</a> </div>

  • 画像の座標位置取得

    javascriptの勉強を始めたばかりで、どうしてもわからないことがあるので質問させてください。(まだ初めて一週間程度の初心者です…) マウスの座標を取得するのはなんとなくわかったのですが、画像の座標をどうやって取得すればいいのかがわかりません。(マウスはevent.offsetで取得してるのでそれに合わせたい) 例えば… function lyrGetTop(lyr){ return( parseInt( document.getElementById(lyr).style.pixelTop ) ); } で、画面全体の位置からの座標を取得するのはできたのですが、ブロック内(?)の位置から取得することができません…。 どのようにすればevent.offsetでのマウスの座標ようにブロックを基準とした座標を取得することができますか? それから、シューティングゲームの自機が弾を連射するようなアルゴリズムがわかりません。 <html> <head> <title></title> <script language="JavaScript"><!-- y = 450; interval = 20; function moveBall(){ y = y - interval; document.getElementById("ball").style.pixelLeft = getlyrleft("ber") + 24; document.getElementById("ball").style.pixelTop = y; document.getElementById("ball").style.visibility = "visible"; if( (y < 10) ){ document.getElementById("ball").style.visibility = "hidden"; document.getElementById("ball").style.pixelTop = getlyrtop("ber"); return 0; } } function getlyrtop(lyr){ return(parseInt(document.getElementById(lyr).style.pixelTop)); } function getlyrleft(lyr){ return(parseInt(document.getElementById(lyr).style.pixelLeft)); } // --></script> </head> <body onclick="setInterval('moveBall()',1)"> <img src="bb01.gif" id="ball" style="position:absolute; visibility:hidden" left:0px;top:16px;"> <img src="bb03.gif" id="ber" style="position:absolute; left:445px; top:459px;"/> </body> </html> これだと、連射どころか、二回目のクリックに反応すらしないんです…。 どうかご教授お願いします。

  • javascriptを起動した後のウェブページを取得するには

    こんにちは。よろしくお願いいたします。 以下のようなHTMLソースをブラウザで読み込むとhogeと 表示されますが、PHPのfile_get_contentsやPerlのLWPなどを使って ページを取得するとソースそのものが取得されます。PHPやPerlを使って ブラウザから見たソース(以下の例ではhoge)を取得するには どのようにしたらよいのでしょうか? <script type="text/javascript"> window.onload=function (){ document.getElementById("a").innerHTML="hoge"; } </script> <div id="a"></div>

    • ベストアンサー
    • PHP
  • PHPサイトでのセッション情報取得について

    PHPのサイトにて、ユーザーIDをJavaScriptの変数に渡す処理について質問です。 システム会社からユーザーIDが格納されている変数ということで下記の記述を教えていただきました。 「Session::getRegistry('uid')」 そこで、下記のようにjsを設定したのですが、値を取得できません。 <script type="text/javascript"><!-- uid='<? Session::getRegistry('uid'); ?>'; // --></script> 【質問】 1.「Session::getRegistry('uid')」という記述でデータを取得可能なのでしょうか? 2.もし、セッションの「uid」に値が格納されているとした場合、どのように記述したら上記のJavaScriptに値を渡せるでしょうか?

    • 締切済み
    • PHP
  • rightの位置

    javascriptでrightの位置を下記のように取得できたのですが これをjQueryを使ってrightの位置の値を取得するようにするにはどのようにスクリプトを組めばいいのでしょうか? 【javascript】 var ele = document.getElementById("crop_img"); var bounds = ele.getBoundingClientRect(); var x1 = bounds.right; 【css】 <style type="text/css"> #crop_img { position: absolute; top:0px; width:100%; } </style> 【HTML】 <div id="crop"> <img src="./test.jpg" id="crop_img" alt=""> </div>

    • ベストアンサー
    • AJAX
  • JavaScriptの値をPHPで取得

    こんにちわ。よろしくお願いします。 いま、JavaScriptで取得した値を同一ページ内でPHPの変数に入れることはできないでしょうか? 例えば <SCRIPT language="JavaScript"> <!-- document.write(document.referrer); // --> </SCRIPT> というのがあったとして これの値をPHPの変数に入れることができればなぁっと考えています。 自分的にには無理っぽいかなって思っているのですが、 もしかしたらなにか方法があるかもしれないと思い 質問させていただきました。 なにか方法がわかる方がいらっしゃいましたらアドバイスお願いします。

    • ベストアンサー
    • PHP
  • javascript と php とでのデータの受け渡し

    既出の質問かもしれませんが、どの回答を読んでもいまいち理解できなかったので質問させて下さい。 phpからjavascriptへ、その処理結果をphpに送りたいと考えております。 まず phpの変数のデータをjavascriptでクライアント側で処理させるために、 print(<script type='text/javascript'>);~などなど、 printを使ってphpの変数を入れ込んだスクリプトを出力しています。 そして、出力したjavascriptの中にクライアント側の処理後のデータ をphpに送るために、 XmlHttpRequestのopenメソッドで("GET",url,true)とし、 urlには"***.php" + "?a=" + aの値 をいれて request.send(null);で送信するようにしています。 最後に、送信先のphpで $a = $_GET["a"];として受け取ろうとしています。 ちなみに、これらは全て同一ファイル上に書いてあり、 XmlHttpRequestのopenメソッドのurlには、 そのファイル自身を記述してあります。 ブラウザでアクセスしてソースを見てみると、 javascriptは記載されていますが、処理がされていないようで、よって 最後にGETでデータも取得がされていないようです。 そもそもこういったことは可能なのでしょうか? 自分の考え方は間違っているのでしょうか? javascriptもphpも初心者なもので、考え方があっているのかいないのかも 判断できない状況です。また、このjavascriptが何をきっかけに実行されるようにすればいいのかもよくわかりません。 それでは、宜しくお願い致します。

  • javascriptで2箇所のphpの関数を取得したいのです。

    javascriptで2箇所のphpの関数を取得したいのです。 見よう見まねでやっている初心者です。よろしくお願いします。 javascriptにてphpの関数をよびだしてhtmlのinput type="text"に値を出力しようとしています。 2か所のphp を下記のようにhtmlに書いて取得しようとしたのですがどちらか一方しか取得できません。 なんとか両方を読み込めるようにできないでしょうか?分かりにくい質問かと思いますので例を書いて見ましたのでどうかよろしくお願いいたします。 (例) <script type="text/javascript" src="../data/zzz.php?aaa=abc" ></script> <script type="text/javascript" src="../../../data/xxx.php?bbb=abc" ></script> 上記のように書いても片方しか取得しないようです。 以下../dataのzzz.phpのphpです。 <?php $aaa = $_GET['aaa']; header("Content-type: application/x-javascript"); echo "window.onload = function () {"; if ($aaa== 'abb') {echo "document.getElementById(\"xxx\").value=100;","document.getElementById(\"yyy\").value=1;";} elseif ($aaa == 'abc') {echo "document.getElementById(\"tanka\").value=120;","document.getElementById(\"yyy\").value=2;";} echo "}"; ?> 以下../../../dataのxxx.phpのphpです。(例) <?php $bbb = $_GET['bbb']; header("Content-type: application/x-javascript"); echo "window.onload = function () {"; if ($bbb== 'abb') {echo "document.getElementById(\"zzz\").value=50;","document.getElementById(\"vvv\").value=10;";} elseif ($bbb == 'abc') {echo "document.getElementById(\"tanka\").value=51;","document.getElementById(\"vvv\").value=20;";} echo "}"; ?> 以上2か所のディレクトリのphpを取得したいのですが、これはできない事なのでしょうか?ちがうディレクトリから取得しなければ更新作業が大変になってしまうのです。どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう