Отображать панель управления только при наведении курсора - Jwplayer 7.1.1

Я хочу отображать панель управления только при наведении курсора мыши. Я смог добиться этого в Jwplayer 7.0.3, используя что-то вроде этого:

var controlbarDiv = playerFrame.querySelectorAll('.jw-controls .jw-controlbar');
playerFrame.onmouseout = function () {
  playerFrame.className += ' ' + 'jw-flag-user-inactive';
}
controlbarDiv[0].onmouseover = function() {
  playerFrame.classList.remove('jw-flag-user-inactive');
}

У плеера (playerFrame) было собственное наведение мыши для удаления неактивного класса пользователя, но теперь, в 7.1.1, событие наведения мыши не срабатывает. Если я добавлю его в свой playerFrame, он будет вести себя очень странно, но все равно не будет отображать панель управления. Любые идеи о том, какие изменения могут вызвать это?

Спасибо.

ЛЭ: Я добавил эти строки

playerFrame.onmouseout = function() {
  if (!playerFrame.classList.contains('jw-flag-user-inactive')) {
    playerFrame.className += ' ' + 'jw-flag-user-inactive';
  }
}
playerFrame.onmouseover = function() {
  if (playerFrame.classList.contains('jw-flag-user-inactive')) {
    playerFrame.classList.remove('jw-flag-user-inactive');
  }
}

Это работает в Chrome и Safari, но не в Firefox. В Firefox, если я быстро выхожу и снова вхожу, событие наведения мыши не срабатывает. Если, однако, я оставляю 2-3 секунды между событиями, срабатывает событие mouseover. Похоже, что события наведения мыши в Firefox срабатывают только при наведении на панель управления.


person oblivion19    schedule 28.09.2015    source источник
comment
Хм, у вас есть пример того, где вы это используете? Кроме того, отображение панели управления, когда мышь находится над игроком, является поведением по умолчанию.   -  person emaxsaun    schedule 29.09.2015
comment
Привет @EthanJWPlayer. Я хочу скрыть панель управления, как только курсор выйдет из плеера, и показать ее только при наведении курсора. Я добился этого, изменив «onmouseover» на «onmousemove».   -  person oblivion19    schedule 29.09.2015
comment
Хм, у вас есть пример ссылки, демонстрирующий проблему?   -  person emaxsaun    schedule 29.09.2015
comment
К сожалению, нет. Когда у меня будет возможность, я создам плнкер, чтобы показать, что я имею в виду. Спасибо.   -  person oblivion19    schedule 30.09.2015
comment
Хорошо, спасибо, пожалуйста, дайте мне знать.   -  person emaxsaun    schedule 30.09.2015


Ответы (1)


Хотя в обновлении нет правдоподобного решения, мы должны заставить его работать.

Итак, я сделал так:

var targetId = 'player';

$jwplayer(targetId).onReady(function(){

    this.onPlay(callbackOnPlay);

});

var callbackOnPlay = function(){

    var player = $('#' + targetId),
    controlbar = (player.length) ? player.find('.jw-controls') : $('.jw-controls');

    player.onPlay()

    if (player.length && controlbar.length) {

        //Delay 2s
        setTimeout(function() {
           controlbar.fadeOut();
        }, 2000);

        //Add hover event
        player.hover(
           function() {
              controlbar.fadeIn();
           }, function() {
              controlbar.fadeOut();
           }
        );

    }

};
person Jonas Antonelli    schedule 15.10.2015