jQueryのscrollTopがOperaでチラチラ

jQueryとか全然知らないんだけど、どうかねぇ。
上に戻るリンクで、Operaだけ上手くいかないって、デザイナからヘルプの声が届いた。


とりあえずソースを確認して、alert()を仕込んで、罠にかかるのを待つ。


まず全然関係ない問題が発覚。
pathnameの値が違う。
ローカルに置いたときに、フォルダ名に日本語を混ぜ込んだのがいかんかった。
location.pathnameで取得した値は日本語がそのままなのに対し、this.pathnameで取得できた値はいわゆるURLエンコードされた形だった。
unDonutではどっちも日本語のままだったのに。
まぁ、実際にアップロードしたときには日本語が混ざることはないからいいか。
ローカルで確認するときだけ注意すりゃいいか。


脱線した。


答えはここにあった。

そこで、$('html,body')とすれば、どちらも指定できてうまくいきそうです。しかし、operaでは、両方の指定が有効になり、ちらつきの原因となるので、以下のように指定します。

jQueryでscrollToを使うときの注意点 - 制作メモ

指定方法は上記のページを確認していただこう。


ってことで、解決。