2008年7月1日火曜日

IEにおける座標の取得

Shortest Path Graphicにおいて、jQueryにおいてIEのみ座標指定がおかしくなる話は先日書いたとおり。

調べてみたところIEではスクロールの部分を余計に足してしまったりするらしいのでそれを引いてやらなければならない

if(window.createPopup){
var x = e.pageX - $('#image').position().left - document.body.scrollLeft;
var y = e.pageY - $('#image').position().top - document.body.scrollTop;
}else{
var x = e.pageX - $('#image').position().left;
var y = e.pageY - $('#image').position().top;
}

document.body.scrollLeft(Top)の部分があるのとないのでIEへの対応をしている。
実際にはif文が乱立してしまうのでIEのみ別のページに飛ばして対応している。


参考:http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter05/013/index.html

0 件のコメント: