// initialize jwplayer var playerInstance = jwplayer('player'); // player dom elements var playerContainerEl = document.querySelector('.player-container'); // returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); } // returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); } // configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' }); // when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED }); // get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl); // set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px'; // below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop; if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); } // namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false; // window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); }; });

Infinity Ward is celebrating both the Holidays and the upcoming launch of Season 1 of Call of Duty: Modern Warfare with Double XP and Double Weapon XP!

The studio is activating Double XP and 2X Weapon XP in Call of Duty: Modern Warfare on PlayStation 4, Xbox One, and PC in Multiplayer from now through Monday, December 2 at 10AM PT.

Season 1 of Call of Duty: Modern Warfare kicks off on Tuesday, December 3 at 10AM PT with a load of new content. Alongside the new season, with the new level progression system in Call of Duty: Modern Warfare, Officer Ranks (ranks 56-155) will be reset back to Level 55.

Here’s some additional intel from Activision Blog:

On December 3, your Officer Rank achieved up until the start of Season 1 will be locked and memorialized with all the ribbons and final Officer Rank you have earned.

That, as well as the two weapon blueprints you may have unlocked for ranking up prior to Season 1 (the Hush at Rank 56, and O.G. at Rank 155 that D-Day is carrying in the previous image), should act as impressive bragging rights to your friends and the greater Call of Duty community!

At the start of Season 1, those who have made it into the Officer Ranks (Rank 56+) will have their Officer Rank refreshed, beginning a new journey up the Season 1 Officer Progression track (from Rank 56 to 155). Players will find another 100 ribbons to earn through a new set of challenges, leading up to a new and distinct animated emblem.

Anything you’ve earned in the Enlisted Ranks, as well as your Mission progress, Blueprint weapons, and Combat Record stats, will be carried over. If you haven’t reached the Officer Ranks by the time Season 1 begins (that is, you’re Rank 54 or less on December 3), you’ll continue to progress through the remaining Enlisted Ranks, before entering the Season 1 Officer Rank Progression.

Season 1 is almost here…stay tuned.

SOURCE: Activision

comments below