何らかの理由で、PC の chrome (mac では発生しません) で、全画面表示にすると、組み込みの小さな chrome div がポップアップして、現在全画面モードになっていることを示し、その div が消えると、mousemove
イベントが発生します。理由はありますか?
var idleTimer;
$videoContainer.mousemove(function()
{
if (!$jsplayer.prop('paused'))
{
if (idleTimer)
{
clearTimeout(idleTimer);
$videoControls.stop(true,true).animate({opacity:1}, animationDuration);
}
idleTimer = setTimeout(function(){
$videoControls.stop(true,true).animate({opacity:0}, animationDuration);
},3000);
}
});
基本的に、マウスが実際に動いていないときに、アイドルマウス機能が起動します。これはクロムでのみ発生しているようです。PC の Firefox ではできませんし、Mac の chrome でもできません。私は使っているgoogle chrome 30.0.1599.69 m
解決
var idleTimer;
var prevX;
$videoContainer.mousemove(function(e)
{
if (!$jsplayer.prop('paused'))
{
if (idleTimer)
{
clearTimeout(idleTimer);
if (prevX != e.clientX) $videoControls.stop(true,true).animate({opacity:1});
}
prevX = e.clientX;
idleTimer = setTimeout(function(){
if (!$jsplayer.prop('paused')) $videoControls.stop(true,true).animate({opacity:0}, animationDuration);
},3000);
}
});