js文字提示层案例分析
创始人
2024-03-02 15:23:41
0

前言

💖js文字提示层在项目中比较常见,今天初次学习记录一下

 

功能介绍

在一段文本中鼠标触及红色字体,下方显示一个文字提示信息,鼠标离开红色字体区域,文字提示层消失。

知识点

onmouseover:鼠标指针移动到元素或它的子元素上时执行js事件

onmouseout:当鼠标指针移出元素或其子元素之一时,执行js事件

offsetLeft :一个只读属性,返回当前元素相对于 offsetParent 节点左边界的偏移像素值。

返回值包含:

  • 元素向左偏移的像素值,元素的外边距(margin)
  • offsetParent 元素的左侧内边距(padding)、边框(border)及滚动条

offsetTop:一个指向最近的(指包含层级上的最近)包含该元素的定位元素或者最近的元素。

innerHTML:.innerHTML 属性设置或获取 HTML 语法表示的元素的后代。

 代码

页面布局html

    
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

#tips用来显示文字提示层

样式css

    

鉴于这是js学习记录,我就不巴拉巴拉css了,简单说一下,文字的强调字体设置成了红色(就是我在功能介绍里说的红色字体)

功能实现js

    

如果你不想你的代码没有错误但是功能却没有生效的话,请不要忘记把代码写进window.onload功能函数里面

使用querySelectorAll静态获取strong标签,使用getElementById动态获取tips标签

静态获取和动态获取标签的区别

静态获取时,选出的所有元素的数组,不会随着文档操作而改变;

动态获取时,选出的所有元素的数组,会随着文档的操作而发生变化;

使用for循环操作所有strong元素

            for (var i = 0; i < strongs.length; i++) {

            }

使用索引值的办法,获取每个数组对象,因为arr数组中的数据和strong标签是一一对应的,给每个strong标签赋予onmouseover功能函数。

strongs[i].index = i;

设置文字提示层的display为block,即显示,再插入数组的当前索引。

                strongs[i].onmouseover = function () {

                    tips.style.display = 'block';

                    tips.innerHTML = arr[this.index];

                }

使用offset设置文字提示层的位置

                    tips.style.left = this.offsetLeft + 'px';

                    tips.style.top = this.offsetTop + 30 + 'px';

当鼠标移开数组中当前数据时候 

                strongs[i].onmouseout = function () {

                    tips.style.display = 'none';

                }

作品展示

 

 

 参考文献:

用js实现文字提示层 ---总结 - hxiuping - 博客园 (cnblogs.com)

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...