已经询问了这个问题的变化,但似乎大多数是使用toggle()
方法解决的。我的情况不同,hide()
和show()
应该由两个不同的事件驱动,即新游戏的创建和赢得比赛的时间。我不希望每个事件只做一件事,所以toggle()
不合适。
我正在使用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()
除外。
我确信答案很简单。
答案 0 :(得分:1)
你应该使用括号(调用函数):
$(document).ready(function() {
socket.on('gameOver', function() {
$('.yourStatus').hide(700);
$('.winner').show(700);
});
$('button.newGame').on('click', function() {
$('.winner').hide();
$('.yourStatus').show();
});
});
效果提示(如果可能,则为cource - 在DOM中元素可能是唯一的):
如果你用哈希声明你的'.winner'会更好。例如:<div id="winner"/>
并在分隔符jQuery中使用:$("#winner")