javascript - 有没有办法避免这种无限循环
问题描述
我陷入了无限循环,我无法解决这个问题。我希望有人帮助我。
所以我有两列,一列称为“正常价格”,第二列称为“乘数”
我需要检查正常价格是否发生变化,乘数也必须改变,反之亦然,如果乘数发生变化,则正常价格必须改变。
这是我为这个问题找到的最接近的解决方案(它有效,但它死了):
jQuery('.column-yith_wcbep_cf_multiplicador').bind('DOMSubtreeModified', function(){
var tabela1 = document.getElementsByClassName("yith_wcbep_products")[0].rows
var arrayMultiplicador1 = []
for (k = 1; k < tabela1.length -1; k ++){
var multiplicadorNovo1 = tabela1[k].childNodes[10].innerHTML
var pvaNovo1 = tabela1[k].childNodes[11].innerHTML
var regularPriceNovo1 = tabela1[k].childNodes[5].innerHTML
var numeroPVA1 = Number(pvaNovo1)
var numeroRegularPrice1 = Number(regularPriceNovo1)
var numeroMultiplicador1 = Number(multiplicadorNovo1)
var novoResultado1 = numeroRegularPrice1 / numeroPVA1
// tabela1[k].childNodes[10].innerHTML = novoResultado;
var multiplicadorAll1 = tabela1[k].childNodes[10].innerHTML
arrayMultiplicador1.push(multiplicadorAll1)
var resultadroRegPrice1 = numeroMultiplicador1 * numeroPVA1
tabela1[k].childNodes[5].innerHTML = resultadroRegPrice1.toFixed(2)
}
});
jQuery('.regular_price').bind('DOMSubtreeModified', function(){
var tabela = document.getElementsByClassName("yith_wcbep_products")[0].rows
var arrayMultiplicador = []
var ids = []
for (i = 1; i < tabela.length -1; i ++){
var multiplicadorNovo = tabela[i].childNodes[10].innerHTML
var pvaNovo = tabela[i].childNodes[11].innerHTML
var regularPriceNovo = tabela[i].childNodes[5].innerHTML
var numeroPVA = Number(pvaNovo)
var numeroRegularPrice = Number(regularPriceNovo)
var numeroMultiplicador = Number(multiplicadorNovo)
var novoResultado = numeroRegularPrice / numeroPVA
tabela[i].childNodes[10].innerHTML = novoResultado;
var multiplicadorAll = tabela[i].childNodes[10].innerHTML
arrayMultiplicador.push(multiplicadorAll)
// var resultadroRegPrice = numeroMultiplicador * numeroPVA
// tabela[i].childNodes[5].innerHTML = resultadroRegPrice.toFixed(2)
}
});
发生的事情是当我更改其中一列时,另一列也发生了变化,它变成了一个无限循环,控制台充满了错误并且网站崩溃 - https://prnt.sc/uq6wm9
我能做些什么来防止这种情况发生?
谢谢。
解决方案
推荐阅读
- githooks - Git-Hook post_commit 不打印 GIT_DIR 环境来记录
- python - 四阶非线性微分方程的稳定解
- python - 了解 Dask-ML
- python-3.x - 我想删除种子并使用输入插入特定的十六进制键
- javascript - PRISMA:如何在 prisma 常规类型中跳过 id 字段?
- powershell - powershell - 使用管道过滤后显示最后一个事件
- mongodb - 具有预排序和限制的mongodb聚合
- xamarin - Xamarin 下载文件到 - 路径访问被拒绝
- scripting - 无法从用 Tcl 编写的应用程序中找到包
- c++ - 迭代在 cicle C++ 期间改变大小的无序集