테스트 사이트 - 개발 중인 베타 버전입니다

제이쿼리로 video태그 동영상 재생,정지 하려는데 오류 뜨네요 왜일까요ㅠㅠ 채택완료

해당 영역에서 동영상 재생되게 하려고 코드 작성했는데 아래와 같은 오류 메시지가 뜹니다.

초보라서 간단한 코드인데도 어렵네요. 도움부탁드립니다ㅠㅠ

 

'Uncaught TypeError: $(...).pause is not a function'

http://sir.kr/data/editor/2402/2072948020_1706854992.3008.png" width="431" />

 

jquery코드

</p>

<p>$(window).scroll(function() {</p>

<p>        var bodyOffset = $(window).offset();</p>

<p>        if ($(".wrap3").scrollTop() >= $(window).offsetHeight) {</p>

<p>            $('.main_video').addClass('start');</p>

<p>            $('.start').play();</p>

<p>        } else {</p>

<p>        $('.start').pause();</p>

<p>        $('.main_video').removeClass('start');</p>

<p>        }</p>

<p>    });</p>

<p>

 

혹시 몰라서 html도 함께 첨부드립니다.

</p>

<p><section class="wrap3"></p>

<p>      <div class="movie"></p>

<p>           <video class="main_video" preload="none" autoplay loop muted playsinline webkit-playsinline src="<?php echo G5_THEME_URL ?>/main/video/mainvideo.mp4"></video></p>

<p>       </div></p>

<p></section></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

에러 발생을 막기 위해서는 다음처럼 수정되어야 합니다.

</p>

<p>            if ($('.main_video').hasClass('start') == true) {

                $('.start').pause();

                $('.main_video').removeClass('start');

            }</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

안녕하세요! 도와주신 덕분에 콘솔에서 오류메시지 사라졌네요 감사합니다 ㅠㅠ 이렇게 따로 작성해야하는군요..

댓글을 작성하려면 로그인이 필요합니다.

비디오는  main_video라는 클라쓰명을 원래 가지고 있으니 그것으로 계속 접근해 보세요

추가된 클래쓰명으로 제어를 할때 간혹 동적 이벤트 추가가 잘 이뤄지지 않아서 안되는 경우가 있습니다 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

넵 도움주셔서 감사합니다~!

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

문법 참고해봐도 오류가 계속 뜨네요 ㅠㅠ
video 태그가 다릅니다.
<video>
<source>
</video>
형태로 맞추면 될 듯 합니다.
생각못했던 부분인데 도움 감사합니다..!! 다만, 해당 부분 형식 수정해봐도 동일한 오류가 콘솔에 계속 뜨네욥.. play,pause기능이 작동은 하는 것 같은데 다른 부분이 틀렸을까요?ㅠㅠ

[code]
<video class="main_video" preload="none" autoplay loop muted playsinline webkit-playsinline>
<source src="<?php echo G5_THEME_URL ?>/main/video/mainvideo.mp4" type="video/mp4">
</video>
[/code]
jquery 버전이 낮아서 그럴 수도 있지 않을까 싶습니다.

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
추가 또는 대체
도움주셔서 감사합니다~!

댓글을 작성하려면 로그인이 필요합니다.

$('.start')[0].pause(); 으로해보세요
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

안녕하세요. 알려주신 방법대로 수정해봐도 그대로 입니다 ㅜㅜ 참고로 그 전에도 get(0).play(); 이런 식으로 문법을 맞췄었는데, 오류가 나더라구요. 뭐때문일까요ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고