html结构

要实现给定义的节点添加提示效果,需要首先需要添加自定义属性data-title,这是data-title是空的,然后通过jstitle的值放到里面

<span title="this is a title 1" deta-title>title1</span>

关键的CSS设置

  • 首先给我们自定义的data-title属性添加一个相对定位
  • 设置伪元素content: attr()的值为deta-title content: attr(deta-title)的值,获取到data-tiltle的值
  • 伪元素设置绝对位置来调整一下位置
  • 伪元素设置white-space: nowrap;使其内容不换行
  • 隐藏伪元素,如果需要添加隐藏动画效果,可以使用visibility: hidden;来隐藏,如果不需要动画效果的话,可以直接使用display:none;
  • 通过添加:hover来控制伪元素来显示
    CSS代码实现
[deta-title]{position: relative;
}
[deta-title]:after{content: attr(deta-title);position: absolute;left: 0;bottom: 100%;white-space: nowrap;visibility: hidden;
}
[deta-title]:hover:after{visibility: visible;
}

js实现提示效果

  • 查找所有拥有data-title属性的节点
  • 遍历所有的data-title
  • title的值赋给data-title
  • 删除title属性
    js实现如下
function detaTitle(){var deta_title = document.querySelectorAll("[deta-title]");console.log(deta_title);for (var i = 0; i < deta_title.length; i++){deta_title[i].setAttribute("deta-title",deta_title[i].getAttribute("title"));deta_title[i].removeAttribute("title");}
}
detaTitle();

自定义属性title提示完整代码

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>title</title><style>body{background-color: #ccc;text-align: center;padding-top: 200px;}a{text-decoration: none;color: #555;}[deta-title]{position: relative;margin: 0 20px;}[deta-title]:after{content: attr(deta-title);position: absolute;left: 50%;bottom: 100%;transform: translate(-50%,0);color: #fff;text-shadow: 0 -1px 0px black;box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);background: #383838;border-radius: 2px;padding: 3px 10px;font-size: 12px;white-space: nowrap;transition:all .3s;opacity: 0;visibility: hidden;}[deta-title]:hover:after{transition-delay: 100ms;visibility: visible;transform: translate(-50%,-6px);opacity: 1;}</style>
</head>
<body>
<span title="this is a title 1" deta-title>title1</span>
<span title="this is a title 2" deta-title>title2</span>
<span title="this is a title 3" deta-title>title3</span><script>
function detaTitle(){var deta_title = document.querySelectorAll("[deta-title]");console.log(deta_title);for (var i = 0; i < deta_title.length; i++){deta_title[i].setAttribute("deta-title",deta_title[i].getAttribute("title"));deta_title[i].removeAttribute("title");}
}
detaTitle();
</script>
</body>
</html>

实现效果

js实现自定义title提示效果相关推荐

  1. js 自定义title提示框(附加文本框内容验证) (II)

    在上一篇的基础上添加了一个小功能,验证文本框是否为空和数字 效果图 页面代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit ...

  2. js实现HTML标题栏中新消息提示效果

    js实现HTML标题栏中新消息提示效果 标题栏新消息提示如图: 移民百科的项目中用到了这个新消息提示的效果,主要用于提示用户有新消息.具体实现代码如下: 新消息提示 var newMessageRem ...

  3. jQuery实现的简单文字提示效果模拟title

    模拟title实现效果,可以修改文字的样式,换行等. 文件下载: 先看下效果截图: 代码分析: <!-- 引用jQuery --><script src="jquery.j ...

  4. JS/CSS 各种操作信息提示效果

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...

  5. Fort.js – 时尚、现代的表单填写进度提示效果

    Fort.js 是一款用于时尚.现代的表单填写进度提示效果的 JavaScript 库,你需要做的就是添加表单,剩下的任务就交给 Fort.js 算法了,使用非常简单.提供了Default.Gradi ...

  6. html自定义标签提示,用简单的jquery+CSS创建自定义的a标签title提示tooltip_HTML/Xhtml_网页制作...

    简介 用简单的jquery+CSS创建自定义的a标签title提示,用来代替浏览器默认行为.如图: Javascript代码 代码如下: $(function() { $("a[title] ...

  7. Fort.js – 时尚、现代的进度提示效果

    Fort.js 是表单填写进度提示效果的 JavaScript 库,使用非常简单. 提供了Default.Gradient.Sections 以及 Flash 四种效果 用Fort.js很简单,很简单 ...

  8. js实现title滚动效果

    js实现title滚动效果 原理:取第一个字符,放到尾部,定时循环操作,在视觉就有滚动效果了.直接上代码了 方式一 var titleText = "您有新订单,请及时处理!".s ...

  9. html5邮箱提示信息,JS实现的邮箱提示补全效果示例

    本文实例讲述了JS实现的邮箱提示补全效果.分享给大家供大家参考,具体如下: 现在要实现的是类似网易登录时的邮箱提示框的效果,不过这里我打算稍微改变一下,就是在输入@的时候再出现邮箱提示列表 实现提示的 ...

最新文章

  1. c潭州课堂25班:Ph201805201 MySQL第二课 (课堂笔记)
  2. 一、ExtMail Solution概述--EXTMAIL
  3. 手把手教你安装Navicat——靠谱的Navicat安装教程
  4. Maven:mirror和repository 区别
  5. 阿里云AIoT正式发布IoT安全中心和IoT Studio 3.0,进一步巩固AIoT云网边端基础能力
  6. python glob.glob使用
  7. 修改oracle超空间大小,Oracle修改表空间大小详解
  8. 既然光纤那么快,为什么路由器和电脑之间不用光纤连接,而还用普通网线?
  9. 【干货】李航老师《统计学习方法》(第2版)清华PPT课件分享
  10. JavaScript编程语言概述
  11. JavaScript函数及其作用
  12. web-UI设计(设计思路篇)
  13. 手机端开发(uni-app、vant、mui)优缺点分析
  14. wpf自己画表盘_练手WPF(一)——模拟时钟与数字时钟的制作(上)
  15. 抖音直播睡觉一晚赚7.6万,心态崩了
  16. 单模光纤VS多模光纤
  17. 基于Java的俄罗斯方块游戏的设计与实现(含源文件)
  18. 郑州大学计算机专业国际学院,郑州大学国际学院怎么样?郑州大学国际学院好吗?(历年分数、专业设置、校园环境、教学实力、名人校友) - 职友集...
  19. 【JSON】04_JSON的生成与解析
  20. 准确率、精度和召回率

热门文章

  1. python opencv 锐化_图像增强、锐化,利用 Python-OpenCV 来实现 4 种方法!
  2. Ajax 技术汇总(转载)
  3. SARscape数据处理SAR数据笔记——DINSAR微小形变提取
  4. 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception
  5. 在pycharm中直接安装第三方包时出错提示无合适版本---解决方案
  6. GB/T 34590《道路车辆 功能安全 第1部分:术语》等12项推荐性国家标准及1项国家标准化指导性技术文件征求意见的函
  7. 单片机通过MQTT协议连接OneNet实现发布/订阅理论篇
  8. 异地备份工具_5个有用的Amazon S3备份工具
  9. 信号幅度单位/功率单位 及其换算 Layout长度单位
  10. 2019计算机调剂武汉大学,2019年武汉大学电子信息学院考研调剂信息