2009-11-12 74 views
0

我已经做了一些简单的javascript来显示和隐藏某些div,当你将鼠标放在图像地图上的热点上时。工具提示根据滚动位置显示在热点以上或以下

<script> 
function showDiv(name) { 
document.getElementById(name).style.display = "block"; 
} 
function hideDiv(name) { 
document.getElementById(name).style.display = "none"; 
} 
</script> 

这些函数在mouseover和mouseout事件中被适当调用。

目前定位应用在CSS中。然而,我想扩大这个显示工具提示上方或下方的热点取决于滚动位置。我的意思是,如果您将鼠标悬停在屏幕底部的热点上,出现的div将显示为不可见,访问者将不得不向下滚动才能看到它。在这种情况下,我希望它出现在热点之上。

任何建议,谢谢。

+0

我知道变量document.documentElement.clientHeight和window.pageYOffset将是重要的 – timewarpagain 2009-11-12 10:51:07

+0

请参阅此链接。这符合您的要求。 http://www.walterzorn.com/tooltip/tooltip_e.htm http://www.dyn-web.com/code/tooltips/ – sathish 2009-11-12 12:53:06

回答

0

我曾经使用过Prototype(getDimensions()/ viewport.getScrollOffsets()是lifesavers!),但是再也找不到代码了。我只记得计算出什么样的偏移量用于定位看起来很简单,但需要花费很多时间直到实际工作。

您可能希望建立在现有的解决方案上(或者看一看它们如何定位)。 Nick Stakenburg的Prototip(警告不完全免费,请查看许可证页面)非常好并且很灵活,但是在所有框架中都有几十个脚本。

对于独立于框架的解决方案,请检查DynamicDrive,即使代码有时会使您的脚趾甲卷曲,它们也能正常工作。

相关问题