要根据悬停的按钮更改容器背景,可以同时使用CSS和JavaScript。这里有一个简单的方法:
document.querySelectorAll('.button').forEach(button => {
button.addEventListener('mouseenter', function() {
const newBg = this.getAttribute('data-bg');
this.closest('.mkdf-eh-item').style.backgroundImage = `url(${newBg})`;
});
button.addEventListener('mouseleave', function() {
this.closest('.mkdf-eh-item').style.backgroundImage = 'url(base_img.jpg)';
});
});
.mkdf-eh-item {
background-image: url("base_img.jpg");
background-size: cover;
width: 100%;
height: 300px;
transition: background-image 0.3s ease;
}
.button {
pointer-events: auto;
background-color: transparent;
border: none;
cursor: pointer;
}
<div class="mkdf-eh-item">
<button class="button" data-bg="hovered_img1.jpg">Button 1</button>
<button class="button" data-bg="hovered_img2.jpg">Button 2</button>
<button class="button" data-bg="hovered_img3.jpg">Button 3</button>
</div>