使CSS工具提示跟随光标
Make CSS tooltip follow cursor
我正在创建一个基于CSS的工具提示,它将在工具提示中有很多内容,而不是在一个静态的地方,我想知道是否有一种简单的方法可以让它跟随光标,当你把鼠标悬停在链接上。
下面是一个基于CSS的工具提示 的例子<div class="couponcode">First Link
<span class="coupontooltip">Content 1</span>
</div>
.couponcode:hover .coupontooltip {
display: block;
}
.coupontooltip {
display: none;
background: #C8C8C8;
margin-left: 28px;
padding: 10px;
position: absolute;
z-index: 1000;
width:200px;
height:100px;
}
http://jsfiddle.net/q46Xz/像这样
var tooltip = document.querySelectorAll('.coupontooltip');
document.addEventListener('mousemove', fn, false);
function fn(e) {
for (var i=tooltip.length; i--;) {
tooltip[i].style.left = e.pageX + 'px';
tooltip[i].style.top = e.pageY + 'px';
}
}
小提琴
这是一个考虑到窗口高度和宽度的版本:
function showTooltip(e) {
var tooltip = e.target.classList.contains("coupontooltip")
? e.target
: e.target.querySelector(":scope .coupontooltip");
tooltip.style.left =
(e.pageX + tooltip.clientWidth + 10 < document.body.clientWidth)
? (e.pageX + 10 + "px")
: (document.body.clientWidth + 5 - tooltip.clientWidth + "px");
tooltip.style.top =
(e.pageY + tooltip.clientHeight + 10 < document.body.clientHeight)
? (e.pageY + 10 + "px")
: (document.body.clientHeight + 5 - tooltip.clientHeight + "px");
}
var tooltips = document.querySelectorAll('.couponcode');
for(var i = 0; i < tooltips.length; i++) {
tooltips[i].addEventListener('mousemove', showTooltip);
}
.couponcode {
color: red;
cursor: pointer;
}
.couponcode:hover .coupontooltip {
display: block;
}
.coupontooltip {
position: absolute;
white-space: nowrap;
display: none;
background: #ffffcc;
border: 1px solid black;
color: black;
padding: 5px;
z-index: 1000;
}
Lorem ipsum dolor sit amet, <span class="couponcode">consectetur
adipiscing<span class="coupontooltip">This is a tooltip</span></span>
elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat. Duis aute irure dolor in <span
class="couponcode">reprehenderit<span class="coupontooltip">This is
another tooltip</span></span> in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est <span
class="couponcode">laborum<span class="coupontooltip">This is yet
another tooltip</span></span>.
(另见this Fiddle)
相关文章:
- 自定义函数中的光标位置
- 在Widget代码中使用javascript从左向右滑动光标图像
- 将文本插入光标所在的文本区域
- 如何在屏幕外或项目的中心视口中跟随YUI驱动的动画
- 鼠标光标-用于wordpress网站
- jQuery 用 DIV 水平跟随光标
- JavaScript 矩形跟随菜单中的光标
- AngularJS:让元素跟随光标
- Javascript html 编辑器光标焦点跟随鼠标
- 当有东西跟随光标时检测鼠标向上
- 鼠标光标跟随器限制到身体
- 如何在开始拖动任何对象时使iframe跟随鼠标光标
- 侧边栏隐藏/显示按钮,跟随光标鼠标
- 使jqZoom evolution的缩放框跟随我的鼠标光标
- 放大镜,跟随光标的画布
- 画布元素中的JavaScript球不跟随光标
- 画布跟随光标
- 想要延迟图像跟随我的鼠标光标
- 有没有办法让 css3 类跟随鼠标光标
- 使CSS工具提示跟随光标