Rails에서 jQuery의 fadeOut을 사용하려고하면 오류가 발생했습니다.

시도한 일



Rails의 flash 메시지를 jQuery로 페이드 아웃시키고 싶습니다! 라고 생각해, 이하의 기사를 참고로 해 jQuery를 도입했습니다.

그리고 다음과 같이 구현했습니다.
<script type="text/javascript">
  $(function() {
      setTimeout($('#フェードアウトさせたい要素').fadeOut('slow'), 2000);
  });
</script>

오류



하지만 잘 페이드 아웃하지 않고.

콘솔 화면을 보면 다음과 같은 오류가 발생했습니다.



이 오류를 해결하기 위해 Google에서 조사해 보면 다음과 같은 기사가 나왔습니다.

이 기사에 의하면, slim판의 jQuery를 사용하고 있는 것이 좋지 않다고 한다.

하지만 jQuery를 도입 할 때 slim 버전을 지정한 기억이 없으면 어떻게 변경할지 몰랐습니다.

거기서, 여러가지 자신이 쓴 코드를 확인하고 있었는데, 이 view 파일의 맨 아래에 이하와 같은 기술이 있었습니다.

index.html.erb
#省略
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

분명히 과거의 자신이 CDN의 slim 버전 jQuery를로드하는 것 같습니다. 제대로 해라…

이 설명을 지우면 무사히 페이드 아웃시킬 수있었습니다.

좋은 웹페이지 즐겨찾기