Stop Playing Video When I Close The Lightbox

前端 未结 1 1738
感情败类
感情败类 2021-01-23 06:37

I built a popup using this article and it looks really good.

Here is what I did:



相关标签:
1条回答
  • 2021-01-23 07:38

    You have to remove the Vimeo content thus stopping the audio completely. If not that, you would have to use Vimeo API to stop/pause/play the video.

    Here a demonstration of how it can be done, adding an iFrame as HTML content for #popup-box .popup-content and then setting the HTML to an empty string to remove it.

    (function($) {          
        $(document).ready(function(){
    		 
             var iframe = '<iframe src="https://player.vimeo.com/video/213100067?title=0&byline=0&portrait=0&badge=0" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
            
             // When the user clicks on the button, open the modal 
             $("#open-popup").on('click', function(e) {
                 e.preventDefault();
                 $('#popup-box').show();
                 $('#popup-box .popup-content').html(iframe);
             });
            
             // When the user clicks on <span> (x), close the modal
             $('#popup-box .close, #popup-box').on('click', function() {
                $('#popup-box').hide();
                $('#popup-box .popup-content').html('');
             });
    
        });
    })(jQuery);
    /* The Modal (background) */
    .modal {
        display:none;
        position: fixed; /* Stay in place */
        z-index: 1; /* Sit on top */
        left: 0;
        top: 0;
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        overflow: auto; /* Enable scroll if needed */
        background-color: rgb(0,0,0); /* Fallback color */
        background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    }
    
    /* Modal Content/Box */
    .popup-content {
        background-color: #fefefe;
        margin: 15% auto; /* 15% from the top and centered */
        padding: 20px;
        border: 1px solid #888;
        width: 80%; /* Could be more or less, depending on screen size */
    }
    
    /* The Close Button */
    .close {
        color: #aaa;
        float: right;
        font-size: 28px;
        font-weight: bold;
    }
    
    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <button id="open-popup">Play</button>
    
    <div id="popup-box" class="modal">
    	<span class="close">&times;</span>
    	<div class="popup-content">
    	</div>
    </div>

    0 讨论(0)
提交回复
热议问题