Javascript 为什么我的jQuery代码不断重复?可能。绑定问题?

Javascript 为什么我的jQuery代码不断重复?可能。绑定问题?,javascript,jquery,function,loops,Javascript,Jquery,Function,Loops,我已经为一个有API和jQuery的站点编写了几个月的程序,并在这里和那里编写了一些脚本。最近我一直在为那个网站开发一款迷你rpg游戏;不幸的是,我并不是最有经验的人 我在一些.bind(“click”)jQuery事件中遇到了一些问题,主要是一个不会停止并不断重复的特殊事件。我做了一些按钮,可以在点击时触发更多功能。我有一种感觉,我可能会在两个函数之间无休止地重复,因为一些console.log消息永远不会重复,会使我测试代码的选项卡崩溃。我找不到循环的原因 /#初始化函数 设置按钮();

我已经为一个有API和jQuery的站点编写了几个月的程序,并在这里和那里编写了一些脚本。最近我一直在为那个网站开发一款迷你rpg游戏;不幸的是,我并不是最有经验的人

我在一些.bind(“click”)jQuery事件中遇到了一些问题,主要是一个不会停止并不断重复的特殊事件。我做了一些按钮,可以在点击时触发更多功能。我有一种感觉,我可能会在两个函数之间无休止地重复,因为一些console.log消息永远不会重复,会使我测试代码的选项卡崩溃。我找不到循环的原因

/#初始化函数
设置按钮();
菜单按钮();
//#钮扣
函数btnCloser(){
如果($('#btn1')。长度!==0){
$('#btn1')。删除();
控制台日志(“Btn1已删除”);
}
如果($('#btn2')。长度!==0){
$('#btn2')。删除();
控制台日志(“Btn2已删除”);
}
如果($('#btn3')。长度!==0){
$('#btn3')。删除();
控制台日志(“Btn3已删除”);
}
}
功能按钮3(){
$(“#主窗口”).append(“”);
$(“#主窗口”).append(“”);
$(“#主窗口”).append(“”);
$('btn1').hover(function(){('btn1').css(“光标”,“指针”);$('btn1').css(“框阴影:0px 0px 10px 2px#FFFFFF inset;”),function(){$('btn1').css(“光标”,“自动”);$('btn1').css(“框阴影:0px 0px 0px 0px 0px#ffff inset;”);
$('btn2').hover(function(){('btn2').css(“光标”,“指针”);$('btn2').css(“框阴影:0px 0px 10px 2px#FFFFFF inset;”),function(){$('btn2').css(“光标”,“自动”);$('btn2').css(“框阴影:0px 0px 0px 0px 0px#ffff inset;”);
$('btn3')。悬停(函数(){('btn3')。css(“光标”,“指针”);$('btn3')。css(“方框阴影:0px 0px 10px 2px#FFFFFF inset;”),函数(){$('btn3')。css(“光标”,“自动”)$('btn3')。css(“方框阴影:0px 0px 0px 0px 0px#ffff inset;”);
}
//#纽顿西
函数菜单按钮(){
$('body')。追加('Menu');
$('menuBtn').hover(function(){$('menuBtn').css(“光标”、“指针”);$('closeButton').css(“方框阴影:0px 0px 10px 2px#FFFFFF inset;”),function(){$('menuBtn').css(“光标”,“自动”)$('closeButton').css(“方框阴影:0px 0px 0px 0px 0px 0px#ffff inset;”));
}
//#菜单
maintenanceMode=false;
功能菜单(){
$('statWindow').remove();
如果($('#主窗口')。长度===0){
$('body')。追加('');
$(“#主窗口”).append(“”);
$('body')。追加('X');
$('closeButton')。悬停(函数(){$('closeButton').css(“光标”,“指针”);$('closeButton').css(“框阴影:0px 0px 10px 2px#ffffffff inset;”),函数(){$('closeButton')。css(“光标”,“自动”);$('closeButton').css(“框阴影:0px 0px 0px 0px 0px 0px#ffff inset;”);
}
btnCloser();
按钮3();
$('#btn1').bind(“单击”,console.log(“单击统计按钮”)).text('Stats');
$('#btn2').bind(“单击”,click()).text('clinic');
$('#btn3').bind(“单击”,mainWindowClose()).text(“关闭”);
}
//#缅因
未显示=正确;
函数newWindow(){
$(“#迷你游戏”).remove();
未显示=错误;
$('body')。追加('');
$(“#主窗口”).append(“”);
$('body')。追加('x');
$('closeButton')。悬停(函数(){$('closeButton').css(“光标”,“指针”);$('closeButton').css(“框阴影:0px 0px 10px 2px#ffffffff inset;”),函数(){$('closeButton')。css(“光标”,“自动”);$('closeButton').css(“框阴影:0px 0px 0px 0px 0px 0px#ffff inset;”);
//$(“#主窗口”).append('Battle!');
}
函数showAlert(){
$('body')。追加('!');
$('迷你游戏').hover(function(){$('迷你游戏').css(“光标”,“指针”);$('迷你游戏').css(“盒子阴影:0px 0px 10px 2px#ffffffff inset;”),function(){$('迷你游戏').css(“光标”,“自动”);$('迷你游戏').css(“盒子阴影:0px 0px 0px 0px 0px#ffff inset;”);
未显示=错误;
$(“#小游戏”).bind(“点击”,怪物遭遇());
}
函数mainWindowClose(){
btnCloser();
$(“#主窗口”).remove();
$(“#关闭按钮”).remove();
未显示=正确;
}

绑定到事件时,需要提供一个
函数,该函数将在事件发生时执行。。您似乎正在传递调用函数的结果

例如:

$('#btn1').bind("click",console.log("Stats button clicked."))
实际上和

var x = console.log("Stats button clicked.");
$('#btn1').on('click', x);
这可能不是你想要的

试试这个:

$('#btn1').on('click', function () {
    console.log('Stats button clicked.');
});
很可能是您的
.hover(
处理程序无休止地重复这些操作

此外,尝试将代码分解并缩进。在一行中看到所有代码是很好的,但这样做很难理解。例如,在
hover
函数中,您的javascript无效(这可能会在控制台中引发错误)

tldr。。。