jQuery按钮交互在多次交互后变慢

jquery buttons interaction slows down after multiple interactions

本文关键字:交互 按钮 jQuery      更新时间:2023-09-26

每次选择4个按钮的特定组合并单击第5个按钮时,我都使用jQuery/javascript绘制一系列矩形。当我创建第 10 行矩形时,交互速度会大大减慢。我之前创建了相同的交互,但它在网页上制作了列表元素。在画布中重试代码并不能解决此问题。

您正在将点击事件相互叠加。每次触发 button1() 时,它都会添加另一个单击处理程序。因此,对于所有按钮功能:

这:

$("#button1").toggle(
    function() {
    $("#button1").css("background-color","yellow");
    is1click = 1;
    makePattern();
},
function() {
    $("#button1").css("background-color","#333");
    is1click = 0;
});

取而代之的是:

function button1(){
$("#button1").toggle(
    function() {
    $("#button1").css("background-color","yellow");
    is1click = 1;
    makePattern();
},
function() {
    $("#button1").css("background-color","#333");
    is1click = 0;
});
}

然后停止调用"makePattern"末尾的函数。

我不是 100% 确定您的代码仍会按预期工作,但在当前状态下,每次触发这些 button1-5 时,您都会越来越多地触发所有这些切换函数。切换,你使用它的方式只是一个点击事件处理程序,它跟踪触发的两个函数中的最后一个,以便它可以触发另一个函数。如果您希望一个或另一个切换函数在is<1-5>Click设置为零时触发,只需执行标准单击并编写自己的逻辑以根据这些变量的值触发函数。