• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:目的地の座標がうまく取得されません)

目的地の座標がうまく取得されません

このQ&Aのポイント
  • 前の投稿後、なんとかプログラムを組んでみました。しかし、ターゲットとなるabcが<table>タグの中にあると、うまく座標が取得されません。解決策はあるのでしょうか?WindowsのIE6で動く様にしたいと思っております。
  • プログラムを組んで目的地の座標を取得しようとしていますが、<table>タグ内にあるabcの座標がうまく取得できません。WindowsのIE6で動作する解決策を教えてください。
  • abcの座標を取得するプログラムを組んでいますが、<table>タグの中にあると上手く取得できません。WindowsのIE6で動作させる方法を教えてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の具体的なサンプル <script> nowTop=0; function toScroll(AnchorID){ objAgent = navigator.userAgent.toUpperCase(); bro=(objAgent.indexOf("WIN") >= 0) ? true : false ; bro=(objAgent.indexOf("IE")>=0 && objAgent.indexOf("OPERA")<0) ? true : false ; if(bro){ nowTop=document.body.scrollTop; if(AnchorID){ pageScroll(absOffsetTop(AnchorID)); }else{ pageScroll(0); } } } pageScrollTimer=""; beforTop=0; function pageScroll(DestinationTop){ nowTop+=Math.floor((DestinationTop-document.body.scrollTop)/10); window.scrollTo(0,nowTop); if((DestinationTop==document.body.scrollTop) || (beforTop==document.body.scrollTop)) { clearTimeout(pageScrollTimer); }else{ beforTop=document.body.scrollTop; pageScrollTimer = setTimeout("pageScroll("+DestinationTop+")",20); } } function absOffsetTop(id){ var el=document.getElementById(id); if(el.offsetParent.tagName.toLowerCase()=="body") return el.offsetTop; else return absOffsetTopR(el); } function absOffsetTopR(el){ if(el.offsetParent.tagName.toLowerCase()=="body") return el.offsetTop; else return el.offsetTop+absOffsetTopR(el.offsetParent); } </script>

msi21st
質問者

お礼

ご回答有難う御座います。 早速やって見たら動きました!! みごと解決しました!! 解決策の具体的な説明からサンプルまで有難う御座います。 とても助かりました。 誠に有難う御座いました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

offsetTopは、その親の位置からの位置を表すから 親がbody(タグ)の場合は、そのまま使えるけど、 他のエレメントに入れ子になっている場合には、そのまま使えません。 とりあえず、offsetParentで親のエレメントを得ることができますので、 親がbodyになるまでたどってそれぞれのエレメントのoffsetTopを足し込む必要があります。 註: offsetParentの動作については、IE5以降と以前とでは動作が違う (5以降ではTDの親はTABLEになるが以前ではTRになる(多分、オフセット位置を得る上でTRになる必要がないから))ので、マイクロソフトのサイトの説明によると、parentElementを使うようにという注意書きがありますが、オフセット位置を求める場合(親のエレメントの階層は関係ないので)気にしなくていいと思います。

msi21st
質問者

お礼

ご回答有難う御座います。 具体的な解決策をアドバイス頂き、 さらに#2でサンプルまで書いて頂き有難う御座います。