クリックで発生するイベント(クラスの取得)をdivごとに分けたいのですが、
どうしたらいいかわかりません。ご教示願います。
<html> <head> <style> .video-frame { position: relative; width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; border: 1px solid #ccc; } .video-frame__video--click { padding-top: 56.25%; position: relative; width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; border: 1px solid #ccc; } .video-frame__video--click iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; display: block; } .video-frame img { max-width: 994px; width: 100%; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> </head> <body> <!-- ビデオ1--> <div class="video-frame"> <div class="video-frame__video" youku="URL1"> <img src="img1.jpg" alt="video02" width="100%" height="auto"> </div> </div> <!-- ビデオ2--> <div class="video-frame"> <div class="video-frame__video" youku="URL2"> <img src="img2.jpg" alt="video02" width="100%" height="auto"> </div> </div> <script> $('.video-frame__video').click(function () { var vframe = '<iframe src="' + $(this).attr('youku') + '" frameborder="0" allowfullscreen></iframe>'; $(this).replaceWith(vframe); $('.video-frame').attr('class', 'video-frame__video--click'); /* ↑これでは、クリックすると、ビデオ1、ビデオ2両方のクラスが変更されてしまう。 ビデオ1をクリックしたらビデオ1が、ビデオ2をクリックしたらビデオ2のクラスが変更されるようにしたい */ }); </script> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/26 08:53 編集
2019/11/26 09:03 編集