diff --git a/src/css/video-js.less b/src/css/video-js.less index cd2be602d6..bbe39d75bf 100644 --- a/src/css/video-js.less +++ b/src/css/video-js.less @@ -724,7 +724,11 @@ easily in the skin designer. http://designer.videojs.com/ width: 0em; height: 0em; margin-bottom: 3em; +} +.vjs-default-skin .vjs-menu, +.vjs-default-skin .vjs-volume-menu-button:hover .vjs-menu, +.vjs-default-skin .vjs-volume-menu-button .vjs-menu.vjs-lock-showing { border-left: 2em solid transparent; border-right: 2em solid transparent; @@ -732,6 +736,12 @@ easily in the skin designer. http://designer.videojs.com/ border-top-color: rgba(7, 40, 50, 0.5); /* Same as ul background */ } +.vjs-default-skin .vjs-volume-menu-button .vjs-menu { + display: block; + width: 0px; + border: none; +} + /* Button Pop-up Menu */ .vjs-default-skin .vjs-menu-button .vjs-menu .vjs-menu-content { display: block; @@ -747,8 +757,15 @@ easily in the skin designer. http://designer.videojs.com/ .background-color-with-alpha(@control-bg-color, @control-bg-alpha); .box-shadow(-0.2em -0.2em 0.3em rgba(255, 255, 255, 0.2)); } - -.vjs-default-skin .vjs-menu-button:hover .vjs-menu { +.vjs-default-skin .vjs-volume-menu-button .vjs-menu .vjs-menu-content { + width: 0px; +} +.vjs-default-skin .vjs-volume-menu-button:hover .vjs-menu .vjs-menu-content, +.vjs-default-skin .vjs-volume-menu-button .vjs-menu.vjs-lock-showing .vjs-menu-content { + width: 10em; +} +.vjs-default-skin .vjs-menu-button:hover .vjs-control-content .vjs-menu, +.vjs-default-skin .vjs-control-content .vjs-menu.vjs-lock-showing { display: block; } .vjs-default-skin .vjs-menu-button ul li { diff --git a/src/js/control-bar/volume-menu-button.js b/src/js/control-bar/volume-menu-button.js index b3a634397f..52797e4546 100644 --- a/src/js/control-bar/volume-menu-button.js +++ b/src/js/control-bar/volume-menu-button.js @@ -30,6 +30,12 @@ vjs.VolumeMenuButton.prototype.createMenu = function(){ contentElType: 'div' }); var vc = new vjs.VolumeBar(this.player_, vjs.obj.merge({'vertical': true}, this.options_.volumeBar)); + vc.on('focus', function() { + menu.lockShowing(); + }); + vc.on('blur', function() { + menu.unlockShowing(); + }); menu.addChild(vc); return menu; }; diff --git a/src/js/menu.js b/src/js/menu.js index 55558a9c0c..4745debe4e 100644 --- a/src/js/menu.js +++ b/src/js/menu.js @@ -213,4 +213,3 @@ vjs.MenuButton.prototype.unpressButton = function(){ this.menu.unlockShowing(); this.el_.setAttribute('aria-pressed', false); }; -