JS实现TITLE悬停长久显示效果完整示例

下面给出JS实现TITLE悬停长久显示效果的完整攻略。

什么是TITLE悬停长久显示效果

当鼠标悬停在一个链接或者图片上时,浏览器会默认显示一个标题属性 TITLE,该属性通常只会在鼠标指针悬停在元素上时短暂地出现,鼠标指针移开后就会消失。但是,在一些情况下,我们希望该TITLE信息可以长久地显示在页面上,比如提示用户更多信息时常用。那么,下面就来介绍如何通过JS实现该效果。

实现方法

方法一:使用title属性和mouseover事件

我们可以通过JS监听鼠标悬停事件,当鼠标悬停在元素上时,将TITLE属性的值读取出来,并通过JS创建一个DIV元素,在该元素中显示TITLE信息,同时利用内部的定时器让该DIV元素在指定的时间后自动隐藏。

下面是示例代码:

<a href="#" title="我是title悬停信息" onmouseover="showTitle(this)">鼠标悬停显示title长久信息</a>
<div id="titleTip" style="display:none;position:absolute;border:1px solid #ccc;background-color:#fff;padding:5px;"></div>
<script>
    var timer = null;
    function showTitle(obj) {
        // 读取title信息
        let title = obj.title;
        // 在DIV元素中显示TITLE信息
        let titleTip = document.getElementById("titleTip");
        titleTip.innerHTML = title;
        // 让DIV元素显示
        titleTip.style.display = "block";
        // 定时器控制DIV元素的展示时间
        timer = setTimeout(function() {
            titleTip.style.display = "none";
        }, 2000);  // 该元素在2秒后自动隐藏
    }
</script>

上面代码中,我们在<a>标签上加上onmouseover事件,当鼠标悬停时便会触发JS函数showTitle()。在该函数中,我们使用document.getElementById()方法获取到一个DIV元素(其ID为"titleTip"),通过该DIV元素来展示TITLE信息,同时使用定时器,在2秒钟后自动隐藏该DIV元素。

方法二:使用插件

如果你不想手写JS实现title悬停长久显示效果,那么这时你就可以使用一些开源的JS插件,来轻松实现该效果。

这里,我给大家介绍一个实现该效果的开源JS插件 - jQuery Tooltipster。该插件不仅支持title悬停长久显示效果,还支持自定义的提示信息、动画效果等。

下面是示例代码:

<!-- 引入jquery和Tooltipster插件 -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/tooltipster.bundle.min.js"></script>

<!-- 定义一个鼠标悬停元素 -->
<a href="#" title="我是title悬停信息">鼠标悬停显示title长久信息</a>

<!-- 初始化Tooltipster插件,实现长久显示效果 -->
<script>
    $(document).ready(function() {
        $('a[title]').tooltipster({
            theme: 'tooltipster-punk',
            arrow: false,
            delay: 100,
            functionPosition: function(instance, helper, position) {
                position.coord.left += 10;
                position.coord.top -= 20;
                return position;
            }
        });
    });
</script>

上面代码中,我们在<head>标签内引入了jQuery库和jQuery Tooltipster插件,然后在一个<a>标签上,加上title属性,以及jQuery选择器$('a[title]'),将该元素设置为tooltipster

tooltipster的初始化选项中,我们自定义了一个主题,以及鼠标指向元素多少毫秒后出现提示框,以及如何调整提示框的位置。

最后,当页面加载完成时,我们使用$(document).ready()监听页面加载完成事件,并执行tooltipster()方法,来初始化该元素的tooltipster提示框。

总结

通过上面的两个示例,我们可以看到,实现title悬停长久显示效果的过程较为简单,主要通过监听鼠标悬停事件,并控制展示时间来实现。如果你还对该效果的实现有其它疑问,欢迎提出,我们一起探讨。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现TITLE悬停长久显示效果完整示例 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 从jQuery.camelCase()学习string.replace() 函数学习

    从jQuery.camelCase()学习string.replace() 函数学习 1. jQuery.camelCase()函数介绍 jQuery.camelCase()函数是jQuery内部使用的一个方法,负责将由横线分隔的字符串转换为驼峰式的写法。 函数用法: jQuery.camelCase(string) 参数: string:要转换的字符串,必…

    jquery 2023年5月28日
    00
  • jQWidgets jqxDocking focus()方法

    以下是关于“jQWidgets jqxDocking focus() 方法”的完整攻略,包含两个示例说明: 方法简介 focus() 是 jQWidgets jqxDocking 控件的方法,用于将指窗口设置为焦点窗口。该方法的语法如下: $("#jqxDocking").jqxDocking(‘focus’, windowId); 在上…

    jquery 2023年5月10日
    00
  • JQuery each()嵌套使用小结

    下面是“JQuery each()嵌套使用小结”的详细攻略。 什么是JQuery each()方法 在使用JavaScript开发时,经常需要对某个数组或对象进行迭代操作。JQuery库提供了each()方法,用于遍历JQuery对象集合并对其中的每一个元素执行回调函数。这个回调函数的参数是元素的下标和值。each()方法有如下的语法: $(selector…

    jquery 2023年5月28日
    00
  • jQWidgets jqxRangeSelector snapToTicks属性

    首先讲解一下jQWidgets和jqxRangeSelector是什么: jQWidgets是一个基于jQuery的UI组件库,提供了各种各样的UI控件,例如表格、树形菜单、图表、日历等等。 jqxRangeSelector是jQWidgets提供的其中一种UI控件,主要用于指定一段范围,例如时间范围选择器。 jqxRangeSelector的snapToT…

    jquery 2023年5月11日
    00
  • jQuery Ajax的readyState和status的区别和使用详解

    下面是关于“jQuery Ajax的readyState和status的区别和使用详解”的完整攻略。 标题:jQuery Ajax的readyState和status的区别和使用详解 什么是Ajax 在介绍readyState和status之前,先来简单介绍一下Ajax。Ajax全称为Asynchronous JavaScript and XML(异步的Ja…

    jquery 2023年5月27日
    00
  • jQuery中each()方法用法实例

    当需要对jQuery元素集合进行遍历操作时,可以使用jQuery的each()方法。本文将详细讲解each()方法的用法及实例。 1. each()方法的语法 $.each(object, function(index, element){ // 迭代处理逻辑 }); 其中: object是要进行迭代的集合,可以是数组或对象; function是对集合中的每…

    jquery 2023年5月28日
    00
  • 如何使用jQuery获得当前HTML页面的标题

    获取当前HTML页面的标题可以使用jQuery的document.title属性。该属性返回当前页面的标题。 下面我们来看一些示例: 示例1:输出页面标题 通过jQuery选择器选择<title>元素,然后使用text()方法获取标题文本并输出。 $(document).ready(function(){ var title = $(‘title…

    jquery 2023年5月12日
    00
  • jQWidgets jqxInput items 属性

    jQWidgets jqxInput items 属性攻略 简介 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供丰富的 UI 组件和工具用于创建现代化应用程序。jqxInput 组件用于创建一个文本输入框。本攻略详细介绍 jqxInput 组件 items 属性,包括如何使用和示例说明。 使用 jqxInput 组件的 items 属性…

    jquery 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部