OperaのgetBoundingClientRectとgetClientRectsは変わった条件だと他のブラウザと違う値を返すことがある
追記:コメントでご指摘を頂きタイトル、内容を修正しました。
以前書いた記事でOperaの10.60でgetBoundingClientRectがうまく動作しないと
書いたがどうやら9.60からのようだ。
ただし以下の参考に載っているバグは10.0で解決しています。
参考:http://d.hatena.ne.jp/edvakf/20081016/1224183371
getClientRects、またgetBoundingClientRectを内部で使ってるjQueryの
offset関数も気軽には使えないようだ。
offsetParentをたどって足し合わせろと言うことなのか。
今回の場合http://www.pixiv.net/stacc/のページでインライン要素のspan
(idが「insert_status」の物)の中にブロック要素のdivを並べるという
間違った事をやっているため、spanのgetBoundingClientRectの実行結果で
異様な値が出たようだ。またインライン要素の中にbr要素だけを含めるという
これも異様な事をやるとそのインライン要素のgetBoundingClientRectの
実行結果が異様な値を返すようだ。
そのため正しく書いていればgetBoundingClientRectやgetClientRectsが
異様な値を返すと言うことはなく、jQueryのoffset関数も含めて期待したように
動いてくれると思われる。