FFan丶Blog / 部分JS效果 / / 两个列表,鼠标经过列表名切换

两个列表,鼠标经过列表名切换

分类:部分JS效果 发布时间:2024-03-07 14:32:42来源:FFan丶Blog
要实现两个列表之间通过鼠标悬停列表名来切换显示内容的功能,你可以使用HTML、CSS和JavaScript。下面是一个简单的例子,演示了如何实现这一功能: HTML:<div class="list-switcher">...

要实现两个列表之间通过鼠标悬停列表名来切换显示内容的功能,你可以使用HTML、CSS和JavaScript。下面是一个简单的例子,演示了如何实现这一功能:

HTML:

<div class="list-switcher">
  <h2 class="list-title active" data-target="list1">列表1</h2>
  <h2 class="list-title" data-target="list2">列表2</h2>

  <ul id="list1" class="list active">
    <li>项目1-1</li>
    <li>项目1-2</li>
    <li>项目1-3</li>
  </ul>
  <ul id="list2" class="list">
    <li>项目2-1</li>
    <li>项目2-2</li>
    <li>项目2-3</li>
  </ul>
</div>

CSS:

.list-switcher {
  position: relative;
}

.list-title {
  cursor: pointer;
  /* 添加悬停样式 */
}

.list-title.active {
  /* 添加活动状态的样式 */
}

.list {
  display: none;
  /* 列表默认隐藏 */
}

.list.active {
  display: block;
  /* 活动列表显示 */
}

JavaScript:

document.addEventListener('DOMContentLoaded', function() {
  var listTitles = document.querySelectorAll('.list-title');
  var lists = document.querySelectorAll('.list');

  listTitles.forEach(function(listTitle) {
    listTitle.addEventListener('mouseover', function() {
      // 移除所有列表和活动标题的类
      lists.forEach(function(list) {
        list.classList.remove('active');
      });
      listTitles.forEach(function(title) {
        title.classList.remove('active');
      });

      // 给当前标题和对应列表添加活动类
      listTitle.classList.add('active');
      var targetList = document.getElementById(listTitle.dataset.target);
      if (targetList) {
        targetList.classList.add('active');
      }
    });
  });
});

在这个例子中,.list-switcher是包含列表标题和列表的容器。每个列表标题(&lt;h2&gt;元素)都有一个data-target属性,该属性的值与对应列表的id相匹配。当鼠标悬停在列表标题上时,JavaScript代码会移除所有列表和列表标题的active类,然后只给当前悬停的列表标题和对应的列表添加active类。CSS规则则定义了.active类使得对应的列表显示出来。

请确保你的HTML、CSS和JavaScript代码都正确加载,并且JavaScript代码在DOM完全加载后执行(通过监听DOMContentLoaded事件或使用jQuery的$(document).ready()方法)。

这样,当你把鼠标移到不同的列表标题上时,对应的列表就会显示出来,而其他列表则会隐藏。


猜你喜欢

  • 一、PC站所有页面跳转同一手机页面 function is_mobile() { var regex_match = /(nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|

    部分JS效果2020-01-15
  • 快速把excel合并在一起,方便分析和统计可以利用excel表的宏计算就可以实现。方法如下: 1、我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。

    其他2020-01-15
  • Copyright &#169; <script>var d=new Date();document.write(d.getFullYear());</script> FFan. All rights reserved.

    部分JS效果2020-01-15
  • 四边为虚线边框:border:1px dashed #000; 左边为虚线:border-left:1px dashed #000; 右边为虚线:border-right:1px dashed #000; 顶部边(上边)为虚线:border-top:1px dashed #000; 底部边(下边)为虚线:border-bottom:1px dashed #000;

    CSS2020-01-15
  • 1、四个边框 border-left 设置左边框,一般单独设置左边框样式使用border-right 设置右边框,一般单独设置右边框样式使用border-top 设置上边框,一般单独设置上边框样式使用border-bottom 设置下边框,一般单独设置下边框样式使用,有时可将下边框样式作为css下划线效果应用。

    CSS2020-01-15