質問: target.offset().top; $("html, body").animate({ scrollTop: position }, speed, "swing"); return false; }); }); ``` htmlファイルはこのようにします。 ``` h2へ ここにいく ``` 移動はできるのですが、javascriptでエラーがでてスムーズスクロールになりません。 エラーは以下のとおりです。 ``` Error: Syntax error, unrecognized expression: #no_%e6%97%a5%e6%9c%ac%e8%aa%9e ``` このようにピュニコード混じりのidではスムーズスクロールができないのでしょうか。 解決策があれば教えて下さい。
回答: > > 移動はできるのですが、javascriptでエラーがでてスムーズスクロールになりません。 > > このようにピュニコード混じりのidではスムーズスクロールができないのでしょうか。 > > 解決策があれば教えて下さい。 > > > URI の 仕様としては '#no_%e6%97%a5%e6%9c%ac%e8%aa%9e' (#no_日本語 の UTF8 表現) は 問題ないでしょうが、 HTML の タグに % エンコードされたID 指定は正しくないのではないでしょうか? ID を 日本語 で記入 、 URL は urlエンコードして指定。 ``` h2へ ここにいく ``` JavaScript では url デコードして ID を検索 ``` var href = decodeURI($(this).attr("href")); ``` にしたら、chrome でも Edge でも 動作する事が確認できました。