ページ内スクロールで以下の記述だとoffset().topエラーが出てました。
エラー解消するため if ($(target).length)でoffset().topを入れたらエラーが解消されました。
こちら正しい解消方法でしょうか?
また、なぜ要素数を取得できる.lengthプロパティで解消できるのでしょうか?
エラーがでるコード $(function () { $('a[href^="#"]').click(function () { var href = $(this).attr("href"); var target = $(href); var tt = target.offset().top; $('body,html').stop().animate({scrollTop: tt - 10}, 500, 'swing'); }); });
↓
エラーが解消したコード $(function () { $('a[href^="#"]').click(function () { var href = $(this).attr("href"); var target = $(href); if ($(target).length) { var tt = target.offset().top; $('body,html').stop().animate({scrollTop: tt - 10}, 500, 'swing'); } }); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/05 12:17