我正在制作一个带有列出项目的网页,这些项目按字母顺序排列。今天在从谷歌联系人网站滚动我的移动联系人列表时,我看到了工具提示。 工具提示 固定在滚动条上,并随着滚动条移动。我想实现这个想法到我的项目中,因为我的列表项也按字母顺序排列。有人可以帮忙实现类似谷歌的工具提示吗?
我正在制作一个带有列出项目的网页,这些项目按字母顺序排列。今天在从谷歌联系人网站滚动我的移动联系人列表时,我看到了工具提示。 工具提示 固定在滚动条上,并随着滚动条移动。我想实现这个想法到我的项目中,因为我的列表项也按字母顺序排列。有人可以帮忙实现类似谷歌的工具提示吗?
这应该能让你入门 - 明显地,这在移动设备上不起作用,但它可能是一个很好的起点
var tooltip = document.createElement('div');
tooltip.style.cssText = 'position:fixed;right:18px;top:0;display:none;width:4em;height:1.2em;background:black;font-size:24px;font-weight:bold;color:white;text-align:center;padding-top:5px;';
document.body.appendChild(tooltip);
var mouseIsDown = false;
var displayed = false;
window.addEventListener('mousedown', function() {
mouseIsDown = true;
});
window.addEventListener('mouseup', function() {
mouseIsDown = false;
if (displayed) {
displayed = false;
tooltip.style.display = 'none';
}
});
window.addEventListener('mousemove', function(e) {
if (displayed) {
tooltip.style.top = e.clientY + 'px';
console.log(e);
}
});
window.addEventListener('scroll', function() {
if (mouseIsDown) {
var pos = parseInt(window.scrollY * 100.0 / window.scrollMaxY);
tooltip.textContent = pos + '%';
if (!displayed) {
tooltip.style.display = 'block';
displayed = true;
}
}
});
我之前也在解决同一个问题...这个(简单)方案怎么样?
$(window).scroll(function(){
$("#scrollerTooltip").css("top",(window.pageYOffset+window.pageYOffset*window.innerHeight)/document.body.scrollHeight)+'px');
});
这里有一个示例,可以解决这个问题(在Chrome上工作)