メッセージを (php 経由で) 受信したときに Web アプリのステータス バーを拡大し、数秒後に元の高さに戻そうとしています。
ページの読み込み時に適用される CSS は次のとおりです。
<style>
#status {
height:17px;
background-color:#424242;
-moz-transition:height 1s;
-webkit-transition:height 1s;
}
#status:hover {
height:60px;
}
</style>
ユーザーがメッセージを受信したときに呼び出されるコードは次のとおりです。
<script>
$('#status').css('height', '60px');
$('#status_message').text('$message').show();
$('#status').delay(1000).css('height', '17px');
</script>
ただし、2 つの問題があります。1 つ目は、スクリプトの最後のステートメントを取り出すとすべてが機能するため、delay() 呼び出しが何かを台無しにしていると思います。次のように、2番目のステートメントの最後に移動しようとしました:
<script>
$('#status').css('height', '60px');
$('#status_message').text('$message').show().delay(100000);
$('#status').css('height', '17px');
</script>
しかし、それもうまくいきません。私が抱えている 2 番目の問題は、上記のコードを実行すると、ステータス バーの元の css ホバー イベントが機能しないことです。$.css() 関数を使用して、ステータス バーの元の css をすべて再指定しようとしましたが、それでも機能しません。#status:hover イベントを jQuery で再適用できないことに関係していると思いますが、 .hover() で同じ動作を実装しようとしても、まだ機能しません。
何か案は?