ToolTip 通过Js实现代替超链接中的title效果

介绍一下如何用JS实现ToolTip代替超链接中的title效果:

1. 理解ToolTip

ToolTip 是一种在鼠标移动到某个元素上时(通常为超链接)出现的提示信息。通常很多网站会在链接上添加title属性,这个属性值即为ToolTip中的文本。然而,title属性的提示框样式是完全受操作系统控制的,不能自定义样式,且无法加入图片、超链接等内容。因此,我们需要使用JS来自己实现ToolTip。

2. 创建ToolTip的HTML元素

在页面中创建一个空白的div元素,来承载ToolTip的内容,设置好样式和位置,但是默认是隐藏的:

<div id="tooltip" style="display:none;position:absolute;background-color:white;border:1px solid gray;padding:5px;"></div>

3. 设置超链接的数据

在超链接的HTML元素中添加自定义的data-tooltip属性,将ToolTip的内容设置为该属性的值:

<a href="#" data-tooltip="这里是ToolTip的内容">超链接</a>

4. 编写JS代码

通过JS来实现当鼠标移动到超链接时显示ToolTip:

let links = document.querySelectorAll('a[data-tooltip]');
for (let i = 0; i < links.length; i++) {
  links[i].addEventListener('mouseover', function(e) {
    // 获取超链接中data-tooltip中的内容
    let tooltip = e.target.getAttribute('data-tooltip');
    // 获取ToolTop的div元素
    let tooltipElm = document.getElementById('tooltip');
    // 设置ToolTop div元素的文本内容,并设置样式
    tooltipElm.innerHTML = tooltip;
    tooltipElm.style.display = 'block';
    tooltipElm.style.left = e.pageX + 'px';
    tooltipElm.style.top = e.pageY + 'px';
  });
  links[i].addEventListener('mouseout', function(e) {
    // 隐藏ToolTip
    document.getElementById('tooltip').style.display = 'none';
  });
}

5. 示例说明

示例一:Tooltip显示图片

我们可以将Tooltip的内容设置为HTML元素,因此可以通过在data-tooltip属性中添加HTML标签,来在Tooltip中引入图片。

<a href="#" data-tooltip="<img src='https://picsum.photos/200/300' alt='这是一张图片'>">超链接</a>

这样当鼠标移动到超链接时,将会显示一张图片。

示例二:Tooltip显示超链接

我们也可以在Tooltip中添加超链接,将链接的地址设置为data-tooltip属性的值,在JS代码中用a标签包裹即可。

<a href="#" data-tooltip="这是一个<a href='#'>链接</a>,点击可以跳转到其他页面">超链接</a>

这样当鼠标移动到超链接时,将会显示一个链接,点击可以跳转到其他页面。

这就是用JS来实现Tooltip代替超链接中的title效果的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ToolTip 通过Js实现代替超链接中的title效果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 关于ES6中的箭头函数超详细梳理

    关于ES6中的箭头函数超详细梳理 箭头函数的概述 ES6中新增的箭头函数,是一种新的函数表达式,可以简化函数的创建过程,提高代码的可读性。它具有以下几个特点: 采用箭头符号“=>”作为函数定义符号。 函数体中只有一句代码时,可以省略花括号和return。 箭头函数没有自己的this,它的this由外部的上下文决定。 箭头函数不可以作为构造器使用,也不能…

    JavaScript 2023年6月11日
    00
  • JS常用的几种数组遍历方式以及性能分析对比实例详解

    JS常用的几种数组遍历方式以及性能分析对比实例详解 在 JavaScript 中,数组遍历是开发者们经常需要用到的功能之一。在本文中,我们将介绍 JS 常用的几种数组遍历方式并进行一些性能分析对比。 常用的几种数组遍历方式 在 JavaScript 中,常用的几种数组遍历方式如下: 1. for 循环 for 循环是最基础的数组遍历方式,通过对数组的下标进行…

    JavaScript 2023年5月27日
    00
  • 《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史

    下面是《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史的详细攻略: 目录 简介 JavaScript 的诞生 JavaScript 的发展历程 JavaScript 的现状和未来 总结 简介 本篇读书笔记主要介绍了JavaScript的简史,该章节主要根据《JavaScript DOM 编程艺术》(第二版)第2章内容整理而来。 …

    JavaScript 2023年6月10日
    00
  • js 事件对象 鼠标滚轮效果演示说明

    下面是关于“js 事件对象 鼠标滚轮效果演示说明”的完整攻略。 什么是事件对象 事件对象是处理事件的一种机制,通过事件对象可以获取事件的相关信息,包括事件类型、目标元素、鼠标坐标等。 当事件发生时,浏览器会自动生成一个事件对象,可以通过参数的方式将该事件对象传递给事件处理函数,在事件处理函数中就可以访问该事件对象。 以下是事件对象的一些常见属性: type:…

    JavaScript 2023年6月10日
    00
  • 微信小程序 开发指南详解

    微信小程序开发指南详解 微信小程序是一种新型的移动应用程序,能够在微信里面直接运行,不需要额外的下载和安装,具有运行快速、使用方便等优点。本文将详细介绍微信小程序的开发流程,包括微信小程序的创建、开发工具的使用、页面和组件的开发、云开发等内容。 微信小程序的创建 微信小程序的创建需要先登录微信小程序开发者平台,如果没有账号需要先注册。登录后在开发者中心可以进…

    JavaScript 2023年5月27日
    00
  • js中apply和call的理解与使用方法

    下面是关于“js中apply和call的理解与使用方法”的完整攻略: 一、概述 在 JavaScript 中,call() 和 apply() 都是 Function 原型对象上的方法,主要用于改变函数运行时的上下文对象(即 this 指向)。 在使用时,两者的区别主要在于传递参数的方式不同。call() 接收的是一个参数列表,而 apply() 接收的是一…

    JavaScript 2023年6月10日
    00
  • JS算法教程之字符串去重与字符串反转

    想要讲解“JS算法教程之字符串去重与字符串反转”的完整攻略,需要先来介绍一下这篇文章所要解决的问题,以及需要使用到的一些关键点。 问题描述 这篇文章主要解决两个问题: 字符串去重:给定一个字符串,如何将其中重复的字符去掉,只保留一个。 字符串反转:给定一个字符串,如何将其中的字符反转。 解决思路 为了解决这两个问题,我们需要使用到以下几个步骤: 字符串去重:…

    JavaScript 2023年5月28日
    00
  • Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法

    对于Ajax请求二进制流进行处理的攻略可以分为以下几个步骤: 1. 发送二进制流文件 首先,在服务端需要将文件转换为二进制流格式并以这种格式进行传输。可以使用以下PHP代码示例: $file = ‘example.xlsx’; header(‘Content-Description: File Transfer’); header(‘Content-Type…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部