해당 코드는 카페24 장바구니에서 내가 담은 제품들을 퍼센트로 전환하여
BAR로 가독성이 좋게 설정하는 방법이다
⭐ 부분 부터 보면된다. 그 외는 다른 기능들!
<script>
if ($('.cart_benefit').length > 0) {
if (('2024-11-18 00:00:00' <= dateString) || preview_index[1] == 'true' || preview[1] == 'true') {
setTimeout(function () {
var memberGrade = $('#sf_group_name.xans-member-var-group_name').text();
if (memberGrade === '패밀리') {
$('.cart_benefit .description p.familyMember').show();
$('.cart_benefit .description p.otherMember').hide();
} else {
$('.cart_benefit .description p.familyMember').hide();
$('.cart_benefit .description p.otherMember').show();
}
}, 100);
if ($('.xans-order-empty').length === 0) {
let yearPriceText = $('.cart_benefit .description .gBlank5 .info .xans-member-var-sPeriodOrderPrice').text();
let yearPrice = parseFloat(yearPriceText.replace(/[^0-9.]/g, '').replace(/,/g, ''));
let total_PriceText = $('.cartWrap .xans-order-totalsummary .total > ul:nth-child(2) li:first-of-type strong.bsk_total_sum').text();
let total_Price = parseFloat(total_PriceText.replace(/[^0-9.]/g, '').replace(/,/g, ''));
// 합산된 값 계산
let totalPrice = yearPrice + parseFloat(total_Price);
// 통화 형식으로 변환
let formattedPrice = totalPrice.toLocaleString() + '원';
// 합산된 값 표시
$('.cart_benefit .price_bar').before(`<span class="basketPrice">현재 담은 금액 ${formattedPrice}</span>`);
if ($('.cart_benefit .basketPrice').length >= 2) {
$('.cart_benefit .basketPrice').first().remove();
}
}
}
/// ⭐ 해당 부분이 중요 ⭐ ///
setTimeout(function () {
var per100 = $('.xans-member-var-sGradeIncreasePrice').first().text().replace('원', '');
var perUnit1 = $('.xans-member-var-sPeriodOrderPrice').text().replace('원', '');;
var perUnit2 = $('.cartTotalBuy .xans-order-totalsummary .bsk_total_sum').text();
let currentPrice = $('.cartTotalBuy .xans-order-totalsummary > div > ul:last-of-type strong.bsk_total_sum').text();
setTimeout(function () {
var per100_fin = per100 ? Number(per100.replace(/,/g, "").replace("%", "")) : 0;
var perUnit1_fin = perUnit1 ? Number(perUnit1.substring(0, perUnit1.length - 1).replace(/,/g, "")) : 0;
var perUnit2_fin = perUnit2 ? Number(perUnit2.replace(/,/g, "")) : 0;
let currentPrice_fin = currentPrice ? Number(currentPrice.replace(/,/g, "").replace("%", "")) : 0;
var per100_final = perUnit1_fin + per100_fin;
var perUnit = perUnit1_fin + perUnit2_fin;
let calcPrice = Math.round(per100_fin - currentPrice_fin);
let silverPrice = Math.round(currentPrice_fin - per100_fin);
let formattedPrice = calcPrice.toLocaleString() + '원';
var regexp = /\B(?=(\d{3})+(?!\d))/g;
var per_ = 100 - (((per100_final - perUnit) / per100_final) * 100).toFixed(0);
var inc_price = (per100_final - perUnit).toString().replace(regexp, ',');
if ((per100_final - perUnit) <= 0) {
$('.cart_benefit .price_bar .now_').css('width', '100%');
$('.inc_price').text(0 + '원');
} else {
$('.cart_benefit .price_bar .now_').css('width', per_ + '%');
$('.inc_price').text(inc_price + '원');
$('.xans-member-var-sGradeIncreasePrice').text(formattedPrice);
}
/// ⭐ 여기까지~ ⭐ ///
if (per100_fin >= 200000) {
console.log('VIP');
$('.cart_benefit .description p.vipMember').show();
$('.cart_benefit .description p.familyMember').hide();
$('.cart_benefit .description p.otherMember').hide();
$('.cart_benefit .description p.nextMember').hide();
} else if (calcPrice > per100_fin) {
console.log('high');
$('.cart_benefit .description p.familyMember').hide();
$('.cart_benefit .description p.otherMember').hide();
$('.cart_benefit .description p.nextMember').show();
$('.cart_benefit .description p.vipMember').hide();
} else if (calcPrice == per100_fin) {
console.log('same');
$('.cart_benefit .description p.familyMember').show();
$('.cart_benefit .description p.otherMember').hide();
$('.cart_benefit .description p.nextMember').hide();
$('.cart_benefit .description p.vipMember').hide();
} else if (silverPrice >= per100_fin) {
console.log('실버로 승급');
$('.cart_benefit .description p.familyMember').hide();
$('.cart_benefit .description p.otherMember').hide();
$('.cart_benefit .description p.nextMember').show();
$('.cart_benefit .description p.vipMember').hide();
}
}, 100);
}, 200);
}
</script>