1(function($) { 2 "use strict"; 3 4 /* Video */ 5 $(".ova_apartment_single").each(function(){ 6 7 var that = $(this); 8 var video = that.find('.icon-apartment-embed'); 9 10 var modal_container = that.find('.ova-modal-container'); 11 var modal_close = that.find('.modal-close'); 12 var modal_video = that.find('.modal-video'); 13 14 video.each( function() { 15 $(this).on('click', function(){ 16 modal_container.css('display', 'flex'); 17 }); 18 }); 19 20 // btn video click 21 video.on( 'click', function() { 22 var url = get_url( video.data('src') ); 23 var autoplay = video.data('autoplay'); 24 var mute = video.data('mute'); 25 var loop = video.data('loop'); 26 var option = '?'; 27 option += autoplay ? 'autoplay=1' : 'autoplay=0'; 28 option += mute ? '&mute=1' : '&mute=0'; 29 option += loop ? '&loop=1' : '&loop=0'; 30 31 if ( url != 'error' ) { 32 modal_video.attr('src', "https://www.youtube.com/embed/" + url + option ); 33 modal_container.css('display', 'flex'); 34 } 35 }); 36 37 // close video 38 modal_close.on('click', function() { 39 modal_container.hide(); 40 modal_video.removeAttr('src'); 41 }); 42 43 // window click 44 $(window).click( function(e) { 45 if ( e.target.className == 'ova-modal-container' ) { 46 modal_container.hide(); 47 modal_video.removeAttr('src'); 48 } 49 }); 50 51 }); 52 53 function get_url( url ) { 54 var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/; 55 var match = url.match(regExp); 56 57 if (match && match[2].length == 11) { 58 return match[2]; 59 } else { 60 return 'error'; 61 } 62 } 63 64})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.