この質問のバリエーションが尋ねられましたが、ほとんどがtoggle()
メソッドを使用して解決されたようです。私のシナリオは、hide()
とshow()
が2つの異なるイベント、新しいゲームの作成、そしてゲームが勝利したときに駆動されるべきである点で異なります。私は各イベントが1つのことしかしたくないので、toggle()
は適切ではないでしょう。JQuery hide()がshow()の後に動作しない、またはその逆の場合
私はsocket.ioを使用してサーバーとブラウザを通信しています。すべてが適切に読み込まれて開始されます。問題は、前の試合が勝利した後に新しい試合を開始しようとすることにあります。関連するJavaScriptは次のようになります。
$(document).ready(function() {
socket.on('gameOver', function() {
$('.yourStatus').hide(700);
$('.winner').show(700);
});
$('button.newGame').on('click', function() {
$('.winner').hide;
$('.yourStatus').show;
});
});
ゲームがsocket.ioイベントで終了すると、すべてが正常に動作します。 hide()
とshow()
を除いて、ボタンクリックイベント機能内の他のすべてが正しく機能します。
私は確かにこれに対する答えは恥ずかしいほど簡単です。
'$( '。winner')。hide'は'() 'を忘れているため、関数' hide'を呼び出しません。それは '$( '。winner')でなければなりません。hide()'と同じものが 'show'です。 –
私たちは皆、答えが困っている時に簡単に質問する必要があります。 :) – dewd