Skip to content

Instantly share code, notes, and snippets.

@Pmmlabs
Created November 24, 2015 09:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Pmmlabs/08b53aa2709eb42d4eb0 to your computer and use it in GitHub Desktop.
Save Pmmlabs/08b53aa2709eb42d4eb0 to your computer and use it in GitHub Desktop.
cur.pinnedVideo = '-460389_160321403';
cur.pinnedVideoInitHandlers = function() {
var post = ge('post-34371983_6');
var playerEl = ge('video_player') || ge('html5_player');
if (post && playerEl && isAncestor(playerEl, post)) {
addEvent(window, 'scroll', cur.pinnedVideoScrollHandler);
cur.destroy.push(cur.pinnedVideoDestroyHandlers);
cur.pinnedVideoScrollHandler();
}
delete cur.pinnedVideoInitHandlers;
};
cur.pinnedVideoScrollHandler = function(evt) {
var post = ge('post-34371983_6');
var playerEl = ge('video_player') || ge('html5_player');
var playerObj = ge('video_player') || window.html5video;
if (!post || !playerEl || !isAncestor(playerEl, post) || (playerObj.isTouchedByUser && playerObj.isTouchedByUser())) {
cur.pinnedVideoDestroyHandlers();
return;
}
var playerY = getXY(playerEl)[1];
var playerHeight = getSize(playerEl)[1];
var scrollY = scrollGetY();
var viewportHeight = window.innerHeight || document.documentElement.clientHeight;
var inViewport = (playerY + playerHeight/2 > scrollY) && (playerY + playerHeight/2 < scrollY + viewportHeight);
if (inViewport != cur.pinnedVideoPrevInViewport) {
window.Videoview && Videoview.togglePlay(inViewport);
cur.pinnedVideoPrevInViewport = inViewport;
}
};
cur.pinnedVideoDestroyHandlers = function() {
removeEvent(window, 'scroll', cur.pinnedVideoScrollHandler);
delete cur.pinnedVideo;
delete cur.pinnedVideoScrollHandler;
delete cur.pinnedVideoDestroyHandlers;
delete cur.pinnedVideoPrevInViewport;
};
var startVideo = function() {
if (browser.mobile || window.mvcur && mvcur.mvShown) return;
var post = ge('post-34371983_6');
var column = geByClass1('page_post_queue_narrow', post);
var thumb = geByClass1('page_post_thumb_video', column);
if (!post || !column || !thumb) return;
showInlineVideo('-460389_160321403', 'ef6a8de6ea035e445a', {autoplay: 1, addParams: { post_id: '-34371983_6', mute: 1 }}, null, thumb);
};
if (vk.loaded) {
startVideo();
} else {
addEvent(window, 'DOMContentLoaded', startVideo);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment