1
我在电子商务中有一个购物车,并且当购物车的值改变横幅出现对于每个值不同。将事件侦听器添加到HTML span标记
当页面重新加载时(当客户在购物车中添加其他产品时发生这种情况),js将运行并显示正确的横幅。
但是,当客户端只更改产品数量或从购物车页面中删除产品时,不会重新加载那个使用事件侦听器的人。
除了我的问题是值($)
是在标签<span> $ value </ span>
内而不是在输入内,所以我不能使事件监听器功能。
我该如何运用?代码如下:
jQuery(document).ready(function(){
setTimeout(function(){
trocaBannerCarrinho();
}, 5000);
//here is the event listener that does not work!!
jQuery("#value_total").on("change", function(){
trocaBannerCarrinho();
});
});
function trocaBannerCarrinho(){
// condições para exibir os banners
var valor_cond1 = {min: 1, max: 980};//banner 1
var valor_cond2 = {min: 981, max: 1280};//banner 2
var valor_cond3 = {min: 1281, max: 1580};//banner 3
var valor_cond4 = {min: 1581, max: 1980};//banner 4
var valor_cond5 = {min: 1981};//banner 5
// recuperando o valor do carrinho
var total_carrinho = jQuery("#value_total").html();
// removendo R$, o ponto e trocando a virgula por um ponto
// o resultado final fica assim: 35.00, 1900.99, 20000.58, etc...
total_carrinho = total_carrinho.replace(/\s/g,'').replace('R$','').replace('.','').replace(',','.');
if ((total_carrinho >= valor_cond1.min) && (total_carrinho <= valor_cond1.max)) {
jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner1').show();
} else if ((total_carrinho >= valor_cond2.min) && (total_carrinho <= valor_cond2.max)) {
jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner2').show();
} else if ((total_carrinho >= valor_cond3.min) && (total_carrinho <= valor_cond3.max)) {
jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner3').show();
} else if ((total_carrinho >= valor_cond4.min) && (total_carrinho <= valor_cond4.max)) {
jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner4').show();
} else if (total_carrinho >= valor_cond5.min) {
jQuery('iframe[id^="google_ads_iframe_"]').contents().find('#banner5').show();
}
}
'value_total'是如何定义的? – karthikr