Javascript Jquery和写入倍数div的百分比
我正在学习JS,我有一个关于特定情况的问题。我正在尝试计算%并使用JS在divJavascript Jquery和写入倍数div的百分比,javascript,jquery,Javascript,Jquery,我正在学习JS,我有一个关于特定情况的问题。我正在尝试计算%并使用JS在div#proc中写入。我的问题是如何使这个函数更好,以及如何使用同一类的多个div HTML <div class="wrapper"> <div class="precoCheio">400,00</div> <div class="precoDesc">150,00</div> <div id="porc"></div> &
#proc
中写入。我的问题是如何使这个函数更好,以及如何使用同一类的多个div
HTML
<div class="wrapper">
<div class="precoCheio">400,00</div>
<div class="precoDesc">150,00</div>
<div id="porc"></div>
</div>
<div class="wrapper">
<div class="precoCheio">200,00</div>
<div class="precoDesc">150,00</div>
<div id="porc"></div>
</div>
<div class="wrapper">
<div class="precoCheio">1000,00</div>
<div class="precoDesc">600,00</div>
<div id="porc"></div>
</div>
试试这个:
//在文档就绪时运行
$(函数(){
//循环遍历每个包装器
$('.wrapper')。每个(函数(){
var wrapper=$(this),//获取当前包装
cheio=wrapper.children('.preccheio'),//获取当前包装的子项'preccheio'
cheioVal=parseFloat(cheio.text().replace(/\./g,“”).replace(“,”,”),//替换所有点,然后将第一个逗号更改为点
desc=wrapper.children('.precoDesc'),//获取当前包装的子级'precoDesc'
descVal=parseFloat(desc.text().replace(/\./g,“”).replace(“,”,”),
proc=wrapper.children('.proc');//获取当前包装器的子'proc'
//你计算一下吧
var porcentagem=100-((descVal/cheioVal)*100);
//将结果放入当前进程
html(procentagem+“%OFF”);
});
});代码>
400,00
150,00
200,00
150,00
1000,00
600,00
此外
$.fn.html也可以接受函数。像这样
function calculaPorcentagem(){
var $wrapper = $(this).parrent();
var precoCheio = $wrapper.find(".precoCheio").text();
var precoDesc = $wrapper.find(".precoDesc").text();
//here some your logic
precoCheio = precoCheio.replace(".", "");
precoCheio = precoCheio.replace(",", ".");
precoDesc = precoDesc.replace(".", "");
precoDesc = precoDesc.replace(",", ".");
precoDesc = precoDesc.replace(".", "");
precoDesc = precoDesc.replace(",", ".");
var porcentagem = precoDesc * 100 / precoCheio / 100;
var porcentagem = porcentagem.toFixed(0) - 100;
return porcentagem + ' % OFF';
};
$('.porc').html(calculaPorcentagem);
ID应该是唯一的,我只是在做一个例子,我用ctrl C/ctrl V控制元素。如果这只是一个例子,为什么这段代码是葡萄牙语的?无论如何,如果您是JavaScript新手,请记住在进行计算之前总是将数字文本强制转换为数字。它将帮助你避免将来的许多麻烦。也许因为我来自巴西,和蔼可亲;)哈。谢谢你的提示。我已经添加了一些评论来帮助你out@Geo基本上:对于匹配.wrapper
的每个元素,他获取文本,将其强制为数字,计算百分比并将其写入匹配的元素中,这是一个简单的文本,例如,一个简单的文本,一个简单的文本,一个简单的文本。(对不起,我想他很难用英语阅读,所以我用两种语言解释了)@Pete请帮我解答这个疑问:)
function calculaPorcentagem(){
var $wrapper = $(this).parrent();
var precoCheio = $wrapper.find(".precoCheio").text();
var precoDesc = $wrapper.find(".precoDesc").text();
//here some your logic
precoCheio = precoCheio.replace(".", "");
precoCheio = precoCheio.replace(",", ".");
precoDesc = precoDesc.replace(".", "");
precoDesc = precoDesc.replace(",", ".");
precoDesc = precoDesc.replace(".", "");
precoDesc = precoDesc.replace(",", ".");
var porcentagem = precoDesc * 100 / precoCheio / 100;
var porcentagem = porcentagem.toFixed(0) - 100;
return porcentagem + ' % OFF';
};
$('.porc').html(calculaPorcentagem);