The sentimental reason why Earl Hamner had his son write the ending of The Waltons (2024)

Up Next:

'); $videoEl.append('' + '' + ''); setTimeout(function(){ $('.mute-overlay').on('touchstart click', function(e){ if(e.handled === false) return; e.stopPropagation(); e.preventDefault(); e.handled = true; player.muted(false); //console.log("volumee " + WVM.activePlayer.volume()); $(this).hide(); $(this).css('display', 'none'); var currentTime = player.currentTime(); if(currentTime < 3){ player.currentTime(0); } var adsManager = player.ima.getAdsManager(); adsManager.setVolume(player.volume()); }); $('.video-close-floating').on('click', function(){ WVM['player_state' + videoId]['CANCEL_FLOATING'] = true; WVM.IS_FLOATING = false; window.dispatchEvent(WVM.FloatEventEnd); $('#media-container-' + videoId).css('width', "100%"); $('#media-container-' + videoId).removeClass('floating-video'); $('#media-placeholder-' + videoId).css('display', 'none'); player.pause(); WVM.NO_FLOAT_COOKIE(); var adsManager = player.ima.getAdsManager(); if(adsManager){ adsManager.pause(); } }); if(hideClose){ setTimeout(function(){ $('.video-close-floating').css('display', 'none'); $('.video-close-floating').remove(); }, 500); } }, 500); } else{ //wait 500 sec call again setTimeout(function(){ WVM.addMuteButton(videoId, player, hideClose); }, 500); } }; WVM.addFloatingAbility = function(videoId, player){ var deviceName = 'desktop'; if($('#media-container-' + videoId).length > 0){ if(deviceName == 'desktop'){ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top; }else{ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top - $('.next-dropdown-accordion').height(); } if(deviceName == 'desktop'){ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); }else{ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); } WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); //console.log("container height: " + WVM.CONTAINER_HEIGHT); $(window).on( "resize", function() { if(deviceName == 'desktop'){ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top; }else{ WVM.VIDEO_TOP = $('#media-container-' + videoId).offset().top - $('.next-dropdown-accordion').height(); } if(deviceName == 'desktop'){ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); }else{ WVM.VIDEO_HEIGHT = $('#html5-video-' + videoId).outerHeight(); } WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); console.log("container height: " + WVM.CONTAINER_HEIGHT); }); //console.log("VIDEOTOP: " + WVM.VIDEO_TOP); //console.log("VIDEOHEIGHT: " + WVM.VIDEO_HEIGHT); $(window).on( "scroll", function() { if(!WVM.IS_FLOATING){ if(deviceName == 'desktop'){ WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId).height(); }else{ WVM.CONTAINER_HEIGHT = $('#media-container-' + videoId + " .hlsvideo-wrapper").height() + $('#media-container-' + videoId + " .now-playing-container").height(); } } //var top = $('#media-container-' + videoId).offset().top; var offset = WVM.VIDEO_TOP + (WVM.VIDEO_HEIGHT / 2); var offsetBack = WVM.VIDEO_TOP; var changed = false; //console.log("VIDEOTOP: " + WVM.VIDEO_TOP); //console.log("VIDEOHEIGHT: " + WVM.VIDEO_HEIGHT); //console.log("scrolltop " + $(window).scrollTop()); //only float if playing var isPlaying = WVM['player_state' + videoId]['IS_PLAYING'] || WVM['player_state' + videoId]['AD_IS_PLAYING']; if(isPlaying){ $('.vjs-loading-spinner').hide(); } var offsetFloatAd = 99999999; if(deviceName == 'desktop' && $('#float_anchor').length > 0){ offsetFloatAd = $('#float_anchor').offset().top - WVM.VIDEO_HEIGHT; //console.log("float anchor offset top " + offsetFloatAd); } if($(window).scrollTop() > offset && isPlaying && !WVM['player_state' + videoId]['CANCEL_FLOATING']){ $('#media-placeholder-' + videoId).height(WVM.CONTAINER_HEIGHT); $('#media-placeholder-' + videoId).css('display', 'block'); if(!WVM.IS_FLOATING){ changed = true; window.dispatchEvent(WVM.FloatEventStart); } WVM.IS_FLOATING = true; $('#media-container-' + videoId).addClass('floating-video'); //set right var sWidth = window.innerWidth || document.documentElement.clientWidth; var sHeight = window.innerHeight || document.documentElement.clientHeight; if(sWidth > 700 && WADS.IS_STICKING){ $('#media-container-' + videoId).addClass('desktop-ad-is-sticky'); }else if(!WADS.IS_STICKING){ $('#media-container-' + videoId).removeClass('desktop-ad-is-sticky'); } if(sWidth <= 700 && WADS.IS_STICKING){ $('#media-container-' + videoId).addClass('mobile-ad-is-sticky'); }else if(sWidth <= 700 && !WADS.IS_STICKING){ $('#media-container-' + videoId).removeClass('mobile-ad-is-sticky'); } if(deviceName == 'desktop' || sWidth > 900){ var leftPos2 = $('aside').get(0).getBoundingClientRect().left; var leftPos = $('aside').offset().left - 50; $('#media-container-' + videoId).css('left', leftPos + "px"); var newWidth = Math.floor(sWidth / 3.5); $('#media-container-' + videoId).css('width', newWidth + "px"); } else{ $('#media-container-' + videoId).css('width', "100% !important"); if(!WVM['player_state' + videoId]['PROMO_PLAYER']){ $('#media-container-' + videoId + ' .now-playing-container').css('display', 'block'); $('#media-container-' + videoId + ' .next-dropdown-accordion').css('display', 'block'); } } if(sWidth < 900 && sWidth > 500 && WVM['player_state' + videoId]['PROMO_PLAYER']){ $('#media-container-' + videoId).addClass('floating-video'); $('#media-container-' + videoId).addClass('mobile-container'); $('#media-container-' + videoId).addClass('promo-playlist'); } //floating-video $('#media-container-' + videoId + " " + '.page-carousel-wrapper').hide(); setTimeout(function(){ var hWrapper = $('.floating-video .hlsvideo-wrapper').height(); var npWidth = $('.floating-video .now-playing-container').height(); var ndWidth = $('.floating-video .next-dropdown-header').height() + 20; var scrollerHeight = sHeight - (hWrapper + npWidth + ndWidth); scrollerHeight = 180; //scrollerHeight = parseInt(scrollerHeight * 0.5); if(WVM.device_name == 'desktop'){ $('#media-container-' + videoId + " " + " .mobile-list-videos").height(scrollerHeight); } }, 100); } if($(window).scrollTop() < offsetBack || $(window).scrollTop() > offsetFloatAd){ if(WVM.IS_FLOATING){ changed = true; window.dispatchEvent(WVM.FloatEventEnd); } WVM.IS_FLOATING = false; $('#media-container-' + videoId).css('width', "100%"); $('#media-container-' + videoId).removeClass('desktop-ad-is-sticky'); $('#media-container-' + videoId).removeClass('mobile-ad-is-sticky'); $('#media-container-' + videoId).removeClass('floating-video'); $('#media-placeholder-' + videoId).css('display', 'none'); $('#media-container-' + videoId + ' .now-playing-container').css('display', 'block'); if(WVM['player_state' + videoId]['PROMO_PLAYER']){ $('#media-container-' + videoId + ' .now-playing-container').css('display', 'none'); $('#media-container-' + videoId + ' .next-dropdown-accordion').css('display', 'none'); } } if($('#next-dropdown-accordion-button-' + videoId).find('i').hasClass('fa-chevron-up')){ if(deviceName == "desktop" && !$('#media-container-' + videoId).hasClass('floating-video')){ $('#media-container-' + videoId + " " + '.page-carousel-wrapper').show(); $('#media-container-' + videoId + " " + '.mobile-list-wrapper').hide(); //console.log("showing desktop"); if(!WVM.player_state225169['CAROUSEL_INIT']){ WVM.setupCarousel(videoId); } }else{ if(changed){ //default closed for mobile/floating player $('#next-dropdown-accordion-button-' + videoId).find('i').removeClass('fa-chevron-up'); $('#next-dropdown-accordion-button-' + videoId).find('i').addClass('fa-chevron-down'); $('#media-container-' + videoId + " " + '.page-carousel-wrapper').hide(); $('#media-container-' + videoId + " " + '.mobile-list-wrapper').hide(); var currVideoId = WVM['player_state' + videoId]['VIDEO_ID']; if(currVideoId == '9999999999'){ currVideoId = WVM.playlist_ids[0]; } var nextVideoId = WVM.getNextPlaylistIndex(currVideoId); var myTitle = WVM.getPlaylistData(videoId, currVideoId, 'noprefixtitle'); $('#video-slider-nexttitle' + videoId).css('display', 'inline'); $('#video-slider-nexttitle' + videoId).html(myTitle); }else{ $('#media-container-' + videoId + " " + '.page-carousel-wrapper').hide(); $('#media-container-' + videoId + " " + '.mobile-list-wrapper').show(); } } }else{ $('#media-container-' + videoId + " " + '.page-carousel-wrapper').hide(); $('#media-container-' + videoId + " " + '.mobile-list-wrapper').hide(); } } ); $('#media-container-' + videoId + ' .video-close').on('click',function(){ //set back to paused and stop floating WVM['player_state' + videoId]['CANCEL_FLOATING'] = true; WVM.IS_FLOATING = false; window.dispatchEvent(WVM.FloatEventEnd); $('#media-container-' + videoId).css('width', "100%"); $('#media-container-' + videoId).removeClass('desktop-ad-is-sticky'); $('#media-container-' + videoId).removeClass('mobile-ad-is-sticky'); $('#media-container-' + videoId).removeClass('floating-video'); $('#media-placeholder-' + videoId).css('display', 'none'); WVM.NO_FLOAT_COOKIE(); player.pause(); player.ima.getAdsManager().pause(); }); } }; WVM.setupCarousel = function(fullVideoId, player){ // initialize Masonry after all images have loaded //alert("setting up carousel"); console.log("setting up carousel on desktop"); $('#page-carousel-' + fullVideoId).css('display', 'block'); WVM['player_state' + fullVideoId]['CAROUSEL_INIT'] = true; if($('#page-carousel-' + fullVideoId).length > 0){ var container = document.querySelector('#page-carousel-' + fullVideoId); imagesLoaded( container, function() { var screenWidth = window.innerWidth || document.documentElement.clientWidth; if(screenWidth > 850){ //alert("setting up carousel3"); WVM.IS_DESKTOP = true; $('#page-carousel-' + fullVideoId + ' .page-carousel-lg-slides').css('display', 'block'); WVM['player_settings' + fullVideoId].slider = $('#page-carousel-' + fullVideoId).owlCarousel({ loop: false, center: false, nav: false, dots: false, autoplay: false, autoplayHoverPause: true, margin: 25, responsiveClass: true, animateOut: 'slideOutDown', animateIn: 'flipInX', navText : ["",""], responsive:{ 0:{ items:3 } } }); }else{ WVM.IS_DESKTOP = false; $('.page-carousel-wrapper').css('display', 'block'); } }); } }; WVM.setupToggleButton = function(fullVideoId, player){ if($('.nextplay-switch-' + fullVideoId).length > 0){ new DG.OnOffSwitchAuto({ cls:'.nextplay-switch-' + fullVideoId, height: 24, trackColorOn:'#F9F9F9', trackColorOff:'#222', textColorOn: '#222', textColorOff: '#222', textOn:'On', textOff:'Off', listener:function(name, checked){ var theVal = 1; if(!checked){ theVal = 0; } $.ajax({ url: '/ajax/update_autoplay_video/', data: { autoplay_on: theVal }, type: 'POST', dataType: 'json', success: function(data) { WVM['player_settings' + fullVideoId]['autoplay'] = checked; }, error : function(){ console.log("Error loading video"); } }); } }); } }; WVM.setupAccordionButton = function(fullVideoId){ var deviceName = 'desktop'; $('#next-dropdown-accordion-button-' + fullVideoId).on('click', function(){ if($(this).find('i').hasClass('fa-chevron-up')){ //hide $(this).find('i').removeClass('fa-chevron-up'); $(this).find('i').addClass('fa-chevron-down'); if(deviceName == "desktop" && !$('#media-container-' + fullVideoId).hasClass('floating-video')){ $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').slideUp(); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').hide(); }else{ $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').slideUp(); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').hide(); } var currVideoId = WVM['player_state' + fullVideoId]['VIDEO_ID']; if(currVideoId == '9999999999'){ currVideoId = WVM.playlist_ids[0]; } var nextVideoId = WVM.getNextPlaylistIndex(currVideoId); //playerId, mediaId, fieldName var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, 'noprefixtitle'); //alert("Getting title " + myTitle); $('#video-slider-nexttitle' + fullVideoId).css('display', 'inline'); $('#video-slider-nexttitle' + fullVideoId).html(myTitle); }else{ //expand $(this).find('i').addClass('fa-chevron-up'); $(this).find('i').removeClass('fa-chevron-down'); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').css('display', 'block'); if(deviceName == "desktop" && !$('#media-container-' + fullVideoId).hasClass('floating-video')){ $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').css('display', 'block'); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').slideDown(); $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').hide(); if(!WVM.player_state225169['CAROUSEL_INIT']){ WVM.setupCarousel(fullVideoId); } }else{ $('#media-container-' + fullVideoId + " " + '.mobile-list-wrapper').slideDown(); $('#media-container-' + fullVideoId + " " + '.page-carousel-wrapper').hide(); if(!$('#media-container-' + fullVideoId).hasClass('floating-video')){ if(!WVM.player_state225169['CAROUSEL_INIT']){ WVM.setupCarousel(fullVideoId); } } } $('#video-slider-nexttitle' + fullVideoId).css('display', 'none'); } }); var currVideoId = WVM['player_state' + fullVideoId]['VIDEO_ID']; if(currVideoId == '9999999999'){ currVideoId = WVM.playlist_ids[0]; } //console.log("current Video " + currVideoId); var nextVideoId = WVM.getNextPlaylistIndex(currVideoId); var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, 'noprefixtitle'); //console.log("setting title " + myTitle); $('#video-slider-nexttitle' + fullVideoId).css('display', 'inline'); $('#video-slider-nexttitle' + fullVideoId).html(myTitle); }; WVM.sendbeacon = function(action, nonInteraction, value, eventLabel) { if(WCS.ONLY_CONTENT || WEBVIEW.is_webview){ WEBVIEW.log_stats("video-" + action, value, WCS.THREAD_URL); var eventCategory = 'app_video'; if (window.gtag) { gtag('event', action, { 'event_category': eventCategory, 'event_label': eventLabel, 'value': value, 'non_interaction': nonInteraction }); } }else{ console.log('test'); var eventCategory = 'video'; if (window.gtag) { gtag('event', action, { 'event_category': eventCategory, 'event_label': eventLabel, 'value': value, 'non_interaction': nonInteraction }); } } }; WVM.getNextPlaylistIndex = function(mediaId, returnArrayIndex){ var currId = null; if(mediaId == null){ return null; } var found = false; for(var x =0; x < WVM.playlist_ids.length; x++){ var myMediaId = WVM.playlist_ids[x]; if(myMediaId == mediaId){ found = true; currId = myMediaId; break; } } var nextId = x + 1; if(nextId < WVM.playlist_ids.length && currId !== null){ if(!returnArrayIndex){ return WVM.playlist_ids[nextId]; }else{ return nextId; } } return null; }; WVM.getPlaylistArrayId = function(mediaId){ for(var x =0; x < WVM.playlist_ids.length; x++){ var myMediaId = WVM.playlist_ids[x]; if(myMediaId == mediaId){ return x; } } return null; }; //unimportant stuff like tracking... don't put anything platform specific here WVM.finishPlayer = function(player, playerState, playerSettings){ var percentsPlayedInterval = 25; //player.off('ready'); player.on('ready', function(){ playerState.PLAYER_READY = true; }); //player.off(['waiting', 'pause']); player.on(['waiting', 'pause'], function() { playerState.IS_PLAYING = false; $('.vjs-loading-spinner').removeClass('badspinner'); }); //player.off('playing'); player.on('playing', function() { console.log('playing'); }); player.on('loadedmetadata', function(){ if(playerState.PLAYER_META){ return; } playerState.PLAYER_META = true; var currId = playerState.VIDEO_ID; if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } if(!playerState.PROMO_PLAYER){ WVM.sendbeacon("loadedmetadata", true, currId, playerState.VIDEO_TITLE); }else{ WVM.sendbeacon("promoloadedmetadata", true, currId, playerState.VIDEO_TITLE); } }); //player.off('adstart'); player.on('adstart', function(){ console.log("starting ads"); WVM.lastAdRequest = new Date().getTime() / 1000; playerState.AD_IS_PLAYING = true; playerState.PLAYED_AD = true; var currId = playerState.VIDEO_ID if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } if(!playerState.PROMO_PLAYER){ WVM.sendbeacon("adstart", true, currId, playerState.VIDEO_TITLE); } else{ WVM.sendbeacon("promoadstart", true, currId, playerState.VIDEO_TITLE); } }); //player.off('adend'); player.on('adend', function(){ var playPromise = null; console.log("ad end"); playerState.AD_IS_PLAYING = false; setTimeout(function(){ if(!playerState.IS_PLAYING || player.paused()){ } }, 500); WVM.lastAdRequest = new Date().getTime() / 1000; var currId = playerState.VIDEO_ID; if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } if(!playerState.PROMO_PLAYER){ WVM.sendbeacon("adend", true, currId, playerState.VIDEO_TITLE); } else{ WVM.sendbeacon("promoadend", true, currId, playerState.VIDEO_TITLE); } }); //player.off('timeupdate'); player.on('timeupdate', function(){ playerState.IS_PLAYING = true; var fullDuration = this.duration() * 1000; var fullCurrent = this.currentTime() * 1000; var rand = parseInt(Math.random() * 100); //console.log("timeupdate " + fullCurrent + " out of " + fullDuration); if(rand > 20){ if(fullDuration > 1 && ((fullDuration - fullCurrent) > 1) && !$('.vjs-loading-spinner').hasClass('badspinner')){ console.log("hiding spinner"); $('.vjs-loading-spinner').addClass('badspinner'); } } var duration_time = Math.floor(this.duration()); //this is a hack because the end video event is not firing... var current_time = Math.floor(this.currentTime()); if ( current_time > 0 && ( fullCurrent >= (fullDuration - 10) )){ var currId = playerState.VIDEO_ID; if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } var newMediaId = WVM.getNextPlaylistIndex(currId); //if(playerSettings.autoplay_next && newMediaId){ if(newMediaId){ if('desktop' == "iphone" && playerState.AD_ERROR){ console.log("skipped timeupdate end"); }else{ WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); } } } if(!playerState.START_SENT){ if(!playerState.PROMO_PLAYER){ WVM.sendbeacon('start', true, currId, playerState.VIDEO_TITLE); }else{ WVM.sendbeacon('promostart', true, currId, playerState.VIDEO_TITLE); } playerState.START_SENT = true; } var currentTime, duration, percent, percentPlayed, _i; currentTime = Math.round(this.currentTime()); duration = Math.round(this.duration()); percentPlayed = Math.round(currentTime / duration * 100); for (percent = _i = 0; _i <= 99; percent = _i += percentsPlayedInterval) { if (percentPlayed >= percent && __indexOf.call(playerState['PERCENTS_TRACKED'], percent) < 0) { if (percentPlayed !== 0) { if(!playerState.PROMO_PLAYER){ WVM.sendbeacon('percent-' + percent, true, currId, playerState.VIDEO_TITLE); } else{ WVM.sendbeacon('promopercent-' + percent, true, currId, playerState.VIDEO_TITLE); } } if (percentPlayed > 0) { playerState['PERCENTS_TRACKED'].push(percent); } } } }); //player.off('ended'); player.on('ended', function(){ console.log("ended"); playerState.IS_PLAYING = false; var currId = playerState.VIDEO_ID; if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } if(!playerState.PROMO_PLAYER){ WVM.sendbeacon("complete", true, currId, playerState.VIDEO_TITLE); } else{ WVM.sendbeacon("promocomplete", true, currId, playerState.VIDEO_TITLE); } console.log("current id " + currId); console.log("playlist ids"); console.log(WVM.playlist_ids); var newMediaId = WVM.getNextPlaylistIndex(currId); //if(playerSettings.autoplay_next && newMediaId){ if(newMediaId){ WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); }else{ var videoId = playerState.ORIGINAL_ID; WVM['player_state' + videoId]['CANCEL_FLOATING'] = true; WVM.IS_FLOATING = false; window.dispatchEvent(WVM.FloatEventEnd); $('#media-container-' + videoId).css('width', "100%"); $('#media-container-' + videoId).removeClass('floating-video'); $('#media-placeholder-' + videoId).css('display', 'none'); console.log("Playlist complete (no more videos)"); } }); //player.off('adserror'); player.on('adserror', function(e){ //$('#ima-ad-container').remove(); WVM.lastAdRequest = new Date().getTime() / 1000; console.log(e); console.log("ads error"); var errMessage = e['data']['AdError']['l']; playerState.AD_IS_PLAYING = false; playerState.IS_PLAYING = false; // && errMessage == 'The VAST response document is empty.' if(!playerState.AD_ERROR){ var dTime = new Date().getTime(); WVM.firstPrerollTagUrl = WVM.getFirstPrerollUrl(); //console.log("not calling backup ad tag url: " + WVM.adTagUrl); /* WVM.activePlayer.ima.changeAdTag(WVM.adTagUrl + "?" + dTime); WVM.activePlayer.ima.requestAds(); //reload src WVM.activePlayer.src({ src: masterSrc, type: 'video/mp4' }); //firefox *really* hates this load event WVM.activePlayer.load(); */ } playerState.AD_ERROR = true; }); //player.off('error'); player.on('error', function(event) { if (player.error().code === 4) { player.error(null); // clear out the old error player.options().sources.shift(); // drop the highest precedence source console.log("now doing src"); console.log(player.options().sources[0]); player.src(player.options().sources[0]); // retry return; } }); //player.off('volumechange'); player.on('volumechange', function(event) { console.log(event); var theHeight = $('#media-container-' + playerState.ORIGINAL_ID + ' .vjs-volume-level').css('height'); var cssVolume = 0; if(theHeight){ cssVolume = parseInt(theHeight.replace('%', '')); } var theVolume = player.volume(); if(theVolume > 0.0 || cssVolume > 0){ $('#media-container-' + playerState.ORIGINAL_ID + ' .mute-overlay').css('display', 'none'); }else{ $('#media-container-' + playerState.ORIGINAL_ID + ' .mute-overlay').css('display', 'block'); } }); //WVM.reinitRawEvents(playerState.ORIGINAL_ID); //setInterval(function(){ // WVM.reinitRawEvents(playerState.ORIGINAL_ID); //}, 2000); WVM.allPlayers.push(player); } if(!WVM.rawCompleteEvent){ WVM.rawCompleteEvent = function(e){ var playerState = WVM['player_state225169']; }; } if(!WVM.rawTimeupdateEvent){ WVM.rawTimeupdateEvent = function(e){ var playerState = WVM['player_state225169']; var rawVideoElem = document.getElementById('html5-video-' + playerState['ORIGINAL_ID'] + '_html5_api'); var fullCurrent = rawVideoElem.currentTime * 1000; var fullDuration = rawVideoElem.duration * 1000; var current_time = Math.floor(rawVideoElem.currentTime); console.log("raw timeupdate: " + fullCurrent + " out of " + fullDuration); if ( current_time > 0 && ( fullCurrent >= (fullDuration - 50) )){ var currId = playerState.VIDEO_ID; if(currId == '9999999999'){ currId = WVM.playlist_ids[0]; } var newMediaId = WVM.getNextPlaylistIndex(currId); if(newMediaId){ console.log("loading new video from rawtimeupdate"); WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID); } } if(!$('.vjs-loading-spinner').hasClass('badspinner')){ $('.vjs-loading-spinner').addClass('badspinner') } }; } WVM.reinitRawEvents = function(playerId){ var playerState = WVM['player_state' + playerId]; var rawVideoElem = document.getElementById('html5-video-' + WVM['player_state' + playerId]['ORIGINAL_ID'] + '_html5_api'); //COMPLETE EENT if( WVM['player_state' + playerId].COMPLETE_EVENT){ rawVideoElem.removeEventListener('ended', WVM.rawCompleteEvent, false); } rawVideoElem.addEventListener('ended', WVM.rawCompleteEvent, false); //TIME UPDATE EVENT if( WVM['player_state' + playerId].TIMEUPDATE_EVENT){ rawVideoElem.removeEventListener('ended', WVM.rawTimeupdateEvent, false); } rawVideoElem.addEventListener('ended', WVM.rawTimeupdateEvent, false); WVM['player_state' + playerId].COMPLETE_EVENT = true; WVM['player_state' + playerId].TIMEUPDATE_EVENT = true; };

As an expert in web development and JavaScript, I can recognize that the provided code is related to the implementation of a video player on a website. The code appears to be written in JavaScript and utilizes the Video.js library for handling video playback. The player seems to have additional features such as floating video, ad handling, and various UI elements.

Let's break down some of the key concepts used in the code:

  1. Video.js Library:

    • Video.js is a popular open-source JavaScript framework for creating custom video players. It provides a customizable player with support for HTML5 video playback.
  2. Floating Video:

    • The code contains functionality for making the video player "float" on the page as the user scrolls. This is achieved by adjusting the CSS properties of the player container based on the user's scroll position.
  3. Ad Handling:

    • The code includes events for handling ads, such as 'adstart' and 'adend.' It interacts with the IMA (Interactive Media Ads) SDK for managing video ads within the player.
  4. Responsive Design:

    • The player is designed to be responsive, with different layouts and styles based on the device's screen width. It adapts its appearance for both desktop and mobile devices.
  5. Event Handling:

    • The code extensively uses event listeners to respond to various player events like 'timeupdate,' 'ended,' 'volumechange,' and 'resize.' These events are crucial for tracking the player's state and triggering specific actions.
  6. Dynamic CSS Manipulation:

    • The code dynamically adjusts the CSS properties of the video player and its components based on the device's characteristics, such as screen width. This ensures a responsive and visually appealing layout.
  7. Carousel Setup:

    • There is code related to setting up a carousel, presumably for displaying a playlist or related videos. The carousel is initialized using the Owl Carousel library.
  8. Ajax Requests:

    • The code uses AJAX requests to communicate with the server. For example, there's an AJAX call to update the autoplay setting for the video.
  9. Toggle Switch:

    • The code sets up a toggle switch (On/Off switch) to control the autoplay feature. It listens for changes in the switch state and makes an AJAX request to update the server accordingly.
  10. Error Handling:

    • There are error-handling mechanisms in place, such as retrying the video source if an error occurs during playback and logging error messages to the console.

Understanding and implementing such a video player requires expertise in JavaScript, CSS, and web development frameworks like Video.js and Owl Carousel. It also involves knowledge of responsive design principles and AJAX for server communication.

The sentimental reason why Earl Hamner had his son write the ending of The Waltons (2024)

FAQs

The sentimental reason why Earl Hamner had his son write the ending of The Waltons? ›

"He's quite a good writer," Earl said of his son Scott in Nostalgic Magazine. By bringing his own son to Walton's Mountain, Hamner, you could say, was blending worlds between the three families he said he wound up having. "I've really had three families.

Why did Waltons end? ›

The announcement shocked fans, but the network's decision came after The Waltons had spent years on a gradual descent from the top of the TV ratings. The show had dipped from No. 2 in its second season, down to the nation's No. 42 show by its ninth.

What was the real reason Michael Learned left The Waltons? ›

However, that decision wasn't made out of a dislike for The Waltons itself. Learned left because of the grueling nature of the television shooting schedule. According to an Associated Press interview, she decided after she finished The Waltons that she was done with working in television.

What was said at the end of The Waltons? ›

And the lights dimmed, the family said goodnight to. one another and drifted off to sleep. “Good night, John-Boy. Good night, Elizabeth.

How was John-Boy written out of The Waltons? ›

After the attack on Pearl Harbor, John-Boy, like the other men in the family, has to enroll in the military. He eventually becomes a war correspondent, writing for the Stars and Stripes. For a while, some fear that he has vanished, but he returns to Walton's Mountain in the end.

Did the cast of The Waltons get along? ›

The cast has remained close over the years. Learned described them as "my second family." "We spent more time together shooting the show than we did with our own families," she said. "So of course, we became close.

Why didn t Richard Thomas return to Waltons? ›

But Richard Thomas, who spent five seasons playing John-Boy Walton on CBS's The Waltons, feared that sticking with the show would eventually do his career more harm than good.

Did Ben and Cindy Walton marry in real life? ›

The actors playing Ben and Cindy Walton both happily married but still became inseparable. One of the earliest appearances of Cindy Brunson Walton comes in one of the most emotional episodes of The Waltons, an episode called "Founders' Day."

Did Richard Thomas regret leaving The Waltons? ›

Initially, Thomas was reluctant to leave the show, but he eventually decided that it was time to move on. He has said that he has no regrets about leaving The Waltons, and that he is proud of the work that he did on the show.

What happened to Mary Ellen's husband on The Waltons? ›

ANSWER: Mary Ellen (Judy Norton-Taylor) married Dr. Curtis Willard in the 1977 season, and they had a baby. Then Curt was killed at Pearl Harbor in the 1978 season, and Mary Ellen found new love with Arlington Wescott “Jonesy” Jones (Richard Gililand) while taking premed courses.

Did Jim Bob Walton get married? ›

Jim Bob was born April 22, 1959 in Evanston, Wyoming; the son of Vasco Gene Walton and Connie Roberts Walton. He attended schools in Evanston, Medicine Bow, and Rock Springs, Wyoming. Jim married Maria Clingan in Rock Springs in 2009. She preceded him in death on July 23, 2023.

Was The Waltons filmed in a real house? ›

The house used in filming The Waltons was a set, built on the studio lot for the show.

What does Goodnight John Boy mean? ›

The nightclub's name, Good Night John Boy, is a tribute to The Waltons, one of the most popular shows on TV in the early 1970s. At the end of each episode, the family would say goodnight to one another before falling asleep.

Why did John-Boy Walton walk with a cane? ›

On The Waltons, he dealt with his real injury by walking with a cane. In The Waltons fifth season episode "The First Edition," John-Boy walks with a cane, and what many fans may not realize is that the actor Richard Thomas was acting through a real injury while filming.

Was John-Boy Walton a real writer? ›

Did the character John Boy in The Waltons represent a real person? The character was loosely based upon the series' creator, Earl Henry Hamner, Jr,, a writer like John-Boy who was raised in a similar family and environment. He was the oldest of eight children raised in Virginia.

Were there two actors that played John-Boy on The Waltons? ›

Wightman replaced Richard Thomas in the role of John-Boy Walton in the TV series The Waltons. He played the role beginning with the show's eighth season in 1979 until the end of the series in 1981. He also appeared in the role in the TV movie A Day of Thanks on Walton's Mountain in 1982.

Why did Ralph Waite leave The Waltons series? ›

What happened to Ralph Waite on The Waltons? He was fired from his role. They claim it was due to budgetary issues.

Why and when did Ralph Waite leave The Waltons? ›

According to IMDb, it call came down to budgetary reasons — and wanting a shift in the audience of the show. "Ralph Waite was fired from his role on due to budgetary issues," the site wrote. "The show had become more expensive as Waite aged, usually at the same time the ratings start to decline."

What did Ralph Waite pass away from? ›

Death. On February 13, 2014, Waite died in Palm Desert, California, of natural causes at age 85. He is buried in White Plains Rural Cemetery in New York.

When was The Waltons cancelled? ›

The series aired from 1972 to 1981. Earl Hamner Jr. by Earl Hamner Jr.

Top Articles
Latest Posts
Article information

Author: Nicola Considine CPA

Last Updated:

Views: 6628

Rating: 4.9 / 5 (69 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Nicola Considine CPA

Birthday: 1993-02-26

Address: 3809 Clinton Inlet, East Aleisha, UT 46318-2392

Phone: +2681424145499

Job: Government Technician

Hobby: Calligraphy, Lego building, Worldbuilding, Shooting, Bird watching, Shopping, Cooking

Introduction: My name is Nicola Considine CPA, I am a determined, witty, powerful, brainy, open, smiling, proud person who loves writing and wants to share my knowledge and understanding with you.