You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改代码让WooCommerce商品标题价格同时显示在悬停遮罩和图片下方

问题原因

现有代码使用.detach()方法是剪切原有元素移动到遮罩层,所以原位置的标题和价格会消失。要实现两处同时展示,只需要把剪切逻辑改为复制元素的逻辑即可。

调整后的JS代码

删除detach()相关逻辑,改用jQuery的.clone()方法复制元素后插入到遮罩层,原有位置的元素会完全保留:

jQuery(document).ready(function( $ ) { 
    var shop_module = $( '.divi-engine-custom-overlay' ), 
        shop_item = shop_module.find( 'li.product' );
    shop_item.each( function() { 
        var product_title = $( this ).find( '.product_category_title' ), 
            product_price = $( this ).find( 'span.price' ), 
            product_overlay = $( this ).find( '.et_overlay' );
        // 复制原有元素,添加专属类名方便CSS控制,避免和原有元素样式冲突
        var title_copy = product_title.clone().addClass('overlay-title');
        var price_copy = product_price.clone().addClass('overlay-price');
        // 把复制的元素插入到遮罩层
        product_overlay.prepend(title_copy, price_copy);
    } )
} );

调整后的CSS代码

原来的CSS选择器和实际元素类名不匹配,修改为我们新增的专属类名来控制遮罩层内的样式,不会影响原有位置的标题价格样式:

/* 遮罩层内标题和价格通用样式 */
.et_overlay .overlay-title,
.et_overlay .overlay-price {
    text-align: center;
    position: absolute;
    width: 100%;
    margin: 0; /* 清除默认边距避免位置偏移 */
    color: #fff; /* 可根据需求自行调整文字颜色 */
}
/* 遮罩层内标题位置 */
.et_overlay .overlay-title {
    top: 5%; 
}
/* 遮罩层内价格位置 */
.et_overlay .overlay-price {
    top: 80%; 
}

内容的提问来源于stack exchange,提问作者Danny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:54:04