定制功能 - 余额原价购买会员

代码将会在本站运行期间永久保留,以便提供后续后续服务与保障

本文章定制用户与上一篇签到奖励余额用户相同

教程

打开子比主题根目录下的/zibpay/functions/zibpay-ajax.php

定制功能 – 余额原价购买会员-子比插件商城
隐藏内容,输入密码后查看
小马

配合使用的JavaScript

$(document).ready(function() {
    // 初始化 MutationObserver 和事件监听器
    function initObserversAndEvents() {
        var payvipModal = document.querySelector('.payvip-modal');
        if (payvipModal) {
            // 立即清空支付方式的选择状态并更新价格显示
            clearPaymentSelection();
            updatePriceDisplay('default'); // 默认状态为非余额支付

            // 定义一个观察者实例
            var observer = new MutationObserver(function(mutations) {
                mutations.forEach(function(mutation) {
                    if (mutation.addedNodes.length > 0) {
                        // 当有新的节点被添加时,重新初始化事件监听器和价格显示
                        initPaymentMethodEvents();
                        clearPaymentSelection(); // 再次清空支付选择状态
                        updatePriceDisplay('default'); // 更新为默认价格显示
                    }
                });
            });

            // 配置观察选项
            var config = { childList: true, subtree: true };

            // 开始观察目标节点(例如,包含支付方式的容器)
            observer.observe(payvipModal, config);
        } else {
            // 如果 .payvip-modal 不存在,则稍后再试
            setTimeout(initObserversAndEvents, 500); // 每隔500毫秒检查一次
        }
    }

    // 初始化支付方式选择事件监听器
    function initPaymentMethodEvents() {
        $(document).off('click', '.payment-method-radio').on('click', '.payment-method-radio', function(){
            var selectedPaymentMethod = $(this).data('value');

            // 更新选中的支付方式样式
            $('.payment-method-radio').removeClass('active');
            $(this).addClass('active');

            updatePriceDisplay(selectedPaymentMethod);
        });

        // 监听会员等级切换事件
        $(document).on('click', '[data-toggle="tab"][href^="#tab-payvip-"]', function(){
            // 清空支付方式的选择状态
            clearPaymentSelection();
            // 更新价格显示为默认状态(非余额支付)
            updatePriceDisplay('default');
        });
    }

    // 更新价格显示逻辑
    function updatePriceDisplay(paymentMethod) {
        $('.zib-widget.vip-product').each(function() {
            var $product = $(this);
            var originalPrice = $product.find('.original-price.relative');
            var productPrice = $product.find('.product-price.c-red');

            if (paymentMethod === 'balance') {
                // 显示 original-price relative,隐藏 product-price c-red
                originalPrice.show();
                productPrice.hide();
            } else {
                // 显示 product-price c-red,隐藏 original-price relative
                originalPrice.hide();
                productPrice.show();
            }
        });
    }

    // 清空支付方式的选择状态
    function clearPaymentSelection() {
        // 移除所有支付方式的选择状态
        $('.payment-method-radio').removeClass('active');
        
        // 也可以考虑将 radio 的 checked 属性移除
        $('.payment-method-radio').prop('checked', false);
    }

    // 初始调用一次以确保现有元素也绑定了事件和正确的价格显示
    initPaymentMethodEvents();

    // 尝试初始化 MutationObserver 和事件监听器,并立即清空支付类别选中状态
    initObserversAndEvents();
});

配合使用的CSS

.vip-product .original-price {
    font-size: 22px;
    color: #fc0534;
}
.original-price::before {
    display:none
}
.vip-product .product-price {
    display: none;
}
© 版权声明
THE END
喜欢就支持一下吧
吐槽 抢沙发

请登录后发表评论

    暂无评论内容