purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

スムーズにページ内スクロールをするjsが上手く動かない

いつからのバージョンかわからないが(割と最近のだと思う)
Chrome


jQueryでページ内スムーズスクロール」


のスクリプトが上手く動かなくなった。
調べてみると


同じような症状の方がいた。


via
HTML Aタグにname idを指定して要素を空にした状態からjavascriptでoffset値取得した際のバグ? - Google Chrome 公式ヘルプフォーラム

要は

  • 直下に空のaタグを置くと、offsetが上手く取得できない

解決策は

空のaタグにdisplay:blockを指定してあげればよい。
未確認だが、空のタグなので空白が出来ることもない。
ということだろう


jQueryで書くなら

$('a:empty').css('display', 'block'); 

で良い。