Javascript の全画面表示機能がまだ比較的新しいことはわかっているので、これがまだ解決されていないバグなのか、問題に対する簡単な解決策があるのか 、それとも単純な間違いを犯しただけなのかはわかりません.. .
div内に入力ボタンがあります。入力ボタンをクリックすると、div がフルスクリーンになります。この入力ボタンには、CSS の背景画像と、同じ背景画像を使用するホバー状態がありますが、背景の位置が変更されます (複数の画像が不要になるため)。ボタンをもう一度クリックすると、div は全画面表示を終了します。
問題は、div が全画面表示になったときに発生します。クリックするとホバー状態になるボタンは、div がフルスクリーンに変わるとホバー状態のままになります。div は、画面上のボタンをカーソルの下にない場所に再配置します (本来のように) が、何らかの理由で、ボタンはまだホバー状態にある必要があると考えています。カーソルをボタンに戻したり離したりするまで、ボタンは「ホバー解除」され、通常のホバー/ホバー解除動作を再開します。私が必要としているのは、div がフルスクリーンに変更された後、ボタンがホバー状態のままにならないようにすることです。
単純化されたコードの一部を以下に示しますが、RunPrefixMethod 関数は一般的なものであり、この問題を解決する必要はないと思うので省略しました。必要な場合はお知らせください。
ああ、私は最新バージョンの Firefox を使用していますが、他のブラウザーではまだテストしていません。全画面表示機能は最近のブラウザーに限定されており、それをサポートしているブラウザーには問題があることを知っています。ご協力いただきありがとうございます。
HTML :
<div id="fullBox">
<input type="submit" value="" id="fullbtn" class="btn" onclick="fullscreen();"/>
</div>
CSS :
#fullBox {
width:900px;
height:440px;
position:absolute;
}
#fullbtn {
width:44px;
height:31px;
background: url(btn_full.png) no-repeat top left;
}
.btn:hover {
background-position: bottom;
}
JavaScript :
function fullscreen() {
var e = document.getElementById("fullBox");
if (RunPrefixMethod(document, "FullScreen") ||
RunPrefixMethod(document, "IsFullScreen")) {
RunPrefixMethod(document, "CancelFullScreen");
}
else {
RunPrefixMethod(e, "RequestFullScreen");
}
}