• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一秒後に実行するようにしたところ全く動かない)

一秒後に実行すると動かない要素について

このQ&Aのポイント
  • 一秒後に実行するようにしたところ、特定の要素が動かなくなりました。
  • 動かない要素には特定のクラスが付与されており、スクロール後に表示されるようになっていますが、一秒後に実行すると動作しなくなります。
  • scrollinクラスが一秒後に追加されるように設定していますが、正しい記述か確認してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

ざっくり言うとthisの指し示す内容が変わってしまっているからでしょうね…。対策でいうと、クロージャーなどを使って使用したい値を固定するなどの対策が必要です。 ※この説明で分からない場合には、JavaScriptの基礎を勉強した方がいいと思います。 初心者の方であることを前提に、コードも書いてしまいますと、たぶんこんな感じで動くと思います。JavaScruptの断片的なコードしか提示してくれていないため動作確認していないので、もしかしたら間違ってるところがあるかもしれませんが、おおむねそんな感じです。 setTimeout((function(self) {   return function(self) {     $(self).addClass('scrollin');   } })(this), 1000); 表示用に全角空白でインデントをしていますので、そこだけ編集してください。書けば動くと思いますが、何がどう違うのかを自分で理解できるよう、本当に勉強した方がいいと思います。

関連するQ&A

専門家に質問してみよう