質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

1918閲覧

コールスタックエラーをなくしたい

jeaw

総合スコア11

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/04/19 04:42

編集2017/04/19 06:27

TOPへ戻るボタンを作りました。
PCとSPで、画像のだし分けをしています。
TOPへ戻るボタンを押して上まで戻ると、フェードアウトする仕様です。
どうやら、フェードイン・アウトの部分を外すとエラーが表示されなくなるようですが、
どのように修正したらよいかがわかりません。
お力を貸していただけましたら幸いです。

※ただ、ブラウザを何度か767px付近を行ったり来たりさせたり、TOPへ戻るボタンを15回くらいクリックしないと発生しないです。
それでも、エラーは取り除いておいた方が良いかなと思い質問しました。
そんなの大丈夫!ということでしたら、それで結構です。

###試したこと
下記を読んでみましたが、残念ながらfor文に直せる実力はありませんでした。
http://qiita.com/pebblip/items/cf8d3230969b2f6b3132

###js

$(window).on('load resize', function() { var win = $(window).width(); if(win > 767){ $('.gotop').show().addClass('pagetop'); $('.gotop-sp').hide().removeClass('pagetop'); //ここの部分を外すとエラーは表示されない $(this).scroll(function () { if ($(this).scrollTop() > 100) { $('.pagetop').fadeIn('slow'); } else { $('.pagetop').fadeOut(); } }); //ここまで } else { $('.gotop').hide().removeClass('pagetop'); $('.gotop-sp').css('display', 'block').addClass('pagetop'); } }); var pagetop = $('.pagetop'); $('footer').on("click", ".pagetop", function(){ $('body, html').animate({ scrollTop: 0 }, 500); return false; });

###エラー内容

ncaught RangeError: Maximum call stack size exceeded at RegExp.[Symbol.match] (<anonymous>) at String.match (native) at L (file:///C:/~/static/js/jquery-3.1.1.min.js:2:27768) at Function.r.Callbacks (file:///C:/~/static/js/jquery-3.1.1.min.js:2:27852) at Function.Deferred (file:///C:/~/static/js/jquery-3.1.1.min.js:2:29128) at hb (file:///C:/~/static/js/jquery-3.1.1.min.js:3:27062) at HTMLImageElement.g (file:///C:/~/static/js/jquery-3.1.1.min.js:3:29306) at Function.dequeue (file:///C:/~/static/js/jquery-3.1.1.min.js:3:3171) at HTMLImageElement.e.complete (file:///C:/~/static/js/jquery-3.1.1.min.js:3:29074) at i (file:///C:/~/static/js/jquery-3.1.1.min.js:2:27983)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/04/19 05:58

質問文にエラー文を追記してください。
jeaw

2017/04/19 06:27

すみません、こんな感じで大丈夫でしょうか。
guest

回答1

0

イベントの中で$(this).scroll()としてしまうと、そのたびごとにイベントをセットすることとなってしまいます。

$(this).scroll()load resizeイベントの外側に出して、これを動かすかを変数で管理するようにしましょう。

投稿2017/04/19 04:47

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jeaw

2017/04/19 05:24

すみません、「これを動かすかを変数で管理する」の部分を、もう少し噛み砕いて教えていただけたらありがたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問