可以通过原生JavaScript来实现这个功能。首先,需要在HTML中创建一个大盒子,并为其添加一个id属性,以便在JavaScript中进行操作。然后,使用JavaScript获取该大盒子的引用,并为其添加鼠标移入和移出事件监听器。

HTML代码:

<div id='big-box'>
  <div class='small-box'>
    <div class='text-box'>
      <p>文字内容</p>
    </div>
    <div class='image-box'>
      <img src='默认图片路径' alt='默认图片'>
    </div>
  </div>
  <div class='small-box'>
    <div class='text-box'>
      <p>文字内容</p>
    </div>
    <div class='image-box'>
      <img src='默认图片路径' alt='默认图片'>
    </div>
  </div>
  <div class='small-box'>
    <div class='text-box'>
      <p>文字内容</p>
    </div>
    <div class='image-box'>
      <img src='默认图片路径' alt='默认图片'>
    </div>
  </div>
</div>

接下来,使用JavaScript为大盒子添加鼠标移入和移出事件监听器,并定义事件处理函数。

JavaScript代码:

// 获取大盒子引用
var bigBox = document.getElementById('big-box');

// 获取所有小盒子的引用
var smallBoxes = bigBox.getElementsByClassName('small-box');

// 遍历小盒子,为每个小盒子添加鼠标移入和移出事件监听器
for (var i = 0; i < smallBoxes.length; i++) {
  smallBoxes[i].addEventListener('mouseover', function () {
    // 获取当前小盒子中的图片引用
    var image = this.querySelector('.image-box img');
    
    // 获取当前小盒子中的文字引用
    var text = this.querySelector('.text-box');
    
    // 添加样式和更换图片
    this.classList.add('active');
    image.src = '鼠标移入图片路径';
    
    // 隐藏文字
    text.style.display = 'none';
  });
  
smallBoxes[i].addEventListener('mouseout', function () {
    // 获取当前小盒子中的图片引用
    var image = this.querySelector('.image-box img');
    
    // 获取当前小盒子中的文字引用
    var text = this.querySelector('.text-box');
    
    // 移除样式和恢复默认图片
    this.classList.remove('active');
    image.src = '默认图片路径';
    
    // 显示文字
    text.style.display = 'block';
  });
}

最后,可以根据需要自定义CSS样式来实现鼠标滑过效果。

CSS代码:

.small-box {
  display: inline-block;
  width: 200px;
  height: 200px;
  border: 1px solid #000;
  margin: 10px;
}

.small-box.active {
  background-color: #f00;
}

.image-box img {
  width: 100px;
  height: 100px;
}

.text-box {
  text-align: center;
  margin-top: 50px;
}

这样,当鼠标滑过小盒子时,会显示红色背景,并且图片会更换为鼠标移入的图片,文字会隐藏;当鼠标移出小盒子时,样式和图片会恢复默认状态,文字会显示出来。

原生JS实现鼠标悬停切换图片和样式效果

原文地址: https://www.cveoy.top/t/topic/c04P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录