JavaWeb(9)——前端综合案例3(悬停显示下拉列表)

这篇具有很好参考价值的文章主要介绍了JavaWeb(9)——前端综合案例3(悬停显示下拉列表)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实例需求 ⌛

        实现类似百度首页的“一个简单的鼠标悬停显示的下拉列表效果”。

JavaWeb(9)——前端综合案例3(悬停显示下拉列表),前端,java,开发语言,前端,javascript,html5,css3

JavaWeb(9)——前端综合案例3(悬停显示下拉列表),前端,java,开发语言,前端,javascript,html5,css3

二、代码实现 ☕

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>

    .dropdown-content a {
      color: black; /* 修改链接的颜色为黑色 */
      text-decoration: none; /* 去掉下拉列表链接的下划线 */
    }

    .dropdown{
      position: relative;
      display:inline-block;
    }
    .dropdown-content {
      display: none;
      position: absolute;
      background-color: #f9f9f9;
      min-width: 90px;
      box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);/* 添加阴影 */
      cursor: pointer; /* 设置鼠标悬停样式为手型 */
      padding: 5px 10px;
      border-radius: 5px; /* border-radius 属性被用于创建圆角*/
    }
    .dropdown:hover.dropdown-content {
      display:block;
    }
    .dropdown span:hover {
      color: red; /* 当鼠标悬停时,将文本颜色更改为红色 */
    }
    .dropdown-content a:hover {
      color: deepskyblue; /* 当鼠标悬停时,将链接文本颜色更改为蓝色 */
    }
  </style>
</head>
<body>

<div class= "dropdown">
      <span>
        鼠标移动到这里,会出现下拉列表
      </span>
  <div class="dropdown-content">
    <a href="https://www.baidu.com">表单-1<br></a>
    <a href="https://www.jd.com">表单-2<br></a>
    <a href="https://www.taobao.com">表单-3<br></a>
    <a href="https://www.souhu.com">表单-4<br></a>
    <a href="https://www.sougou.com">表单-5</a>
  </div>
</div>

<script>
  document.addEventListener('DOMContentLoaded', function() {
    let dropdown = document.querySelector('.dropdown');
    dropdown.addEventListener('mouseover', function() {
      let dropdownContent = this.querySelector('.dropdown-content');
      dropdownContent.style.display = 'block';
    });
    dropdown.addEventListener('mouseout', function() {
      let dropdownContent = this.querySelector('.dropdown-content');
      dropdownContent.style.display = 'none';
    });
  });
</script>
</body>
</html>

思路分析和代码解释: 

这个标签

<div class="dropdown">

是一个包裹下拉列表的容器。它使用 CSS 中的 position: relative; 和 display: inline-block; 属性来控制其在页面中的位置和显示方式。

        当鼠标悬停在   .dropdown 容器上方时,通过 CSS 选择器    .dropdown:hover .dropdown-content 的规则,将下拉列表设置为显示(display: block;)元素会以块级元素的方式进行显示。当页面内容加载完成后,DOMContentLoaded 事件会被触发。在该事件的回调函数中,以下代码将执行:

let dropdown = document.querySelector('.dropdown');

        这行代码使用 document.querySelector 方法选择页面中第一个带有 .dropdown 类的元素,并将其赋值给变量 dropdown

dropdown.addEventListener('mouseover', function() { 
let dropdownContent = this.querySelector('.dropdown-content'); 
dropdownContent.style.display = 'block'; });

        当鼠标移入 .dropdown 元素时,mouseover 事件被触发,然后执行回调函数。在回调函数中this 指向触发事件的元素本身(即 .dropdown 元素),通过 this.querySelector('.dropdown-content') 找到该元素内部带有 .dropdown-content 类的元素,并将其赋值给变量 dropdownContent。然后将 dropdownContentdisplay 样式属性设置为 'block',使其可见。

dropdown.addEventListener('mouseout', function() { 
let dropdownContent = this.querySelector('.dropdown-content'); 
dropdownContent.style.display = 'none'; });

        当鼠标移出 .dropdown 元素时,mouseout 事件被触发,然后执行回调函数。回调函数中的逻辑与上述类似,通过 this.querySelector('.dropdown-content') 找到 .dropdown 元素内部的 .dropdown-content 元素,并将其赋值给变量 dropdownContent。然后,将 dropdownContentdisplay 样式属性设置为 'none',使其隐藏。

JavaWeb(9)——前端综合案例3(悬停显示下拉列表),前端,java,开发语言,前端,javascript,html5,css3JavaWeb(9)——前端综合案例3(悬停显示下拉列表),前端,java,开发语言,前端,javascript,html5,css3

总结起来就是:

        JavaScript 部分的代码监听了页面的 DOMContentLoaded 事件,确保在文档加载完毕后再执行代码。一旦页面加载完成,它会找到 .dropdown 元素,并为它添加两个事件监听器。 第一个事件监听器是 mouseover,当鼠标指针进入 .dropdown 区域时触发。它会找到 .dropdown 元素内部的 .dropdown-content 元素,并将其显示出来(通过修改其 CSS 属性 display 为 'block') 第二个事件监听器是 mouseout,当鼠标指针离开 .dropdown 区域时触发。它也会找到 .dropdown 元素内部的 .dropdown-content 元素,并将其隐藏(通过修改其 CSS 属性 display 为 'none')。这样当鼠标移出 .dropdown 区域时,下拉列表将消失。文章来源地址https://www.toymoban.com/news/detail-637605.html

到了这里,关于JavaWeb(9)——前端综合案例3(悬停显示下拉列表)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【javaWeb+tomcat+MySQL】综合案例-完整步骤

    目录 一、前提 二、创建一个普通的java项目 三、添加Web Application 四、添加tomcat 五、测试tomcat是否连接成功  六、在src目录下创建四个package 七、在WEB-INF下创建文件夹lib,导入两个jar包  八、把druid.properties粘贴在src目录下 八、实体类、方法类、测试类、连接类(代码部分)

    2024年02月07日
    浏览(46)
  • 黑马程序员最新版JavaWeb综合案例(前后端完整版)

    学习视频链接: 黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版 完整代码链接: https://github.com/HaiLei-Fly/JavaWeb-brand 1、功能介绍 案例功能: 用户登录(账号密码登录) 用户注册(新用户注册账号) 查询所有(查询所有品牌数据) 新增品牌(增加新的品牌数

    2024年02月03日
    浏览(39)
  • 前端框架Layui实现动态树效果(书籍管理系统左侧下拉列表)

    目录 一、前言 1.什么是树形菜单 2.树形菜单的使用场景 二、案例实现 1.需求分析 2.前期准备工作 ①导入依赖 ②工具类 BaseDao(通用增删改查) BuildTree(完成平级数据到父子级的转换) ResponseUtil(将数据转换成json格式进行回显) ③编写实体 3.dao层编写 4.servlet层编写 5.jsp页面搭

    2024年02月13日
    浏览(37)
  • Python---综合案例:通讯录管理系统---涉及点:列表、字典、死循环

    需求: 开个一个通讯录的管理系统,主要用于实现存储班级中同学的信息(姓名、年龄、电话) 涉及点:列表、字典、死循环 相关链接:Python--列表及其应用场景---增、删、改、查。-CSDN博客 Python---字典---dict-CSDN博客 Python---死循环概念---while True-CSDN博客 注意: 在Python中,

    2024年02月05日
    浏览(52)
  • visual studio 2022.NET Core 3.1 未显示在目标框架下拉列表中

    在Visual Studio 2022我已经安装了 .NET core 3.1 并验证可以运行 .NET core 3.1 应用程序,但当创建一个新项目时,目标框架的下拉列表只允许 .NET 6.0和7.0。而我在之前用的 Visual Studio 2019,可以正确地添加 .NET 核心项目。 运行 .NET Core 3.1 应用程序,需要 .NET Core 3.1 运行时 - 如果可以运

    2024年02月11日
    浏览(39)
  • 前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页

    前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页, 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下:         #### 使用方法 ```使用方法 !-- pullDown:下拉刷新 back-top: 回到顶部  -- ccPullScroll class=\\\"pullScrollView\\\" ref=\\\"pullScroll\\\" :back-top=\\\"true\\\" :pullDo

    2024年02月08日
    浏览(55)
  • 【微信小程序】前端+后端 :第一篇(基于javaweb 案例)

    博主:👍不许代码码上红 欢迎:🐋点赞、收藏、关注、评论。 点击新建项目 这里记得选择web application 点击下一步 这是我们需要的目录结构 如果没有如下图这个东西 可以点击+号 选择Artifact 即可 4.1、创建一个新的页面pages 目录结构 4.2、demo2.js 4.3、demo2.wxml 微信小程序端

    2024年02月09日
    浏览(47)
  • 前端基础第一天-html-综合案例

    通过综合案例,主要复习: 目录文件夹 今日所学标签 路径 锚点链接

    2024年02月14日
    浏览(45)
  • 综合案例(前端代码练习):猜数字和表白墙

    目录 一、猜数字 html代码: 点击 猜 按钮的js代码: 点击 重开游戏 按钮的js代码: 整体代码: 页面效果: 二、留言板 css代码: html代码: js代码(主逻辑在这): 整体代码: 页面效果:         页面如下 :         我们想在文本框输入我们想猜的数字,点击猜后下面就

    2024年04月23日
    浏览(27)
  • javaweb实验:Java Web综合应用开发__基于MVC模式

    本实验的目的是让学生掌握Java Web开发的基本原理和方法,以及MVC设计模式的应用。MVC是一种将程序分为三个部分的设计模式,即模型(Model)、视图(View)和控制器(Controller)。模型负责封装数据和业务逻辑,视图负责展示用户界面,控制器负责接收用户请求并调用模型和

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包