鼠标在文本上移动时层的显示与消失

把这里的所有代码都放在<body>与</body>之间即可
<script language=
javascript >
<!--
function hiddiv()
{
document.all.ab.style.display="none"
}
function showdiv()
{
document.all.ab.style.display=""
document.all.ab.style.left=window.event.clientX+15
document.all.ab.style.top=window.event.clientY
}
//-->

</script>
<div id=ab style="position: absolute; width: 126; height: 27; background-color: orange; display: none; left: 11; top: 36">地址:园区星海街东侧<br>电话:0512-65103588-206</div>

<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td width="150"><a href="#" οnmοuseοut=hiddiv(); οnmοusemοve=showdiv();>发现之旅</a></td>
</tr>
</table>

  当然了这里的功能比较简单,没有对浏览器类型进行判断,本人不才,就把这个问题留给各位了,欢迎每一位朋友来修改这个问题。
  在这里还有一个问题就是如果文本不止一个、定义的层也就不止一个。如果还用这样的方法就会出错,我对这个问题研究了一下,用下面的这个方法就可以解决了。
<script language=javascript>
<!--
function hiddiv(blah)
{
blah.style.display="none"
}
function showdiv(blah)
{
blah.style.display=""
blah.style.left=window.event.clientX+15
blah.style.top=window.event.clientY
}
//-->

</script>
<div id=ab style="position: absolute; width: 126; height: 27; background-color: orange; display: none; left: 11; top: 36">地址:园区星海街东侧<br>电话:0512-65103588-20611</div>

<div id=cd style="position: absolute; width: 126; height: 27; background-color: orange; display: none; left: 11; top: 36">地址:新区明星街南侧<br>电话:0512-65103588-20622</div>

<table border="0" cellpadding="0" cellspacing="0" width="600">
<tr>
<td width="150"><a href="#" οnmοuseοut=hiddiv(ab); οnmοusemοve=showdiv(ab);>发现之旅</a></td>
</tr>
<tr>
<td width="150"><a href="#" οnmοuseοut=hiddiv(cd); οnmοusemοve=showdiv(cd);>和风景苑</a></td>
</tr>
</table>

  如果有更多的文本和层的话以此类推即可。
  在这里有几点要说明的就是:
  1、showdiv中带参数时再用document.all.ab.style.display=""就不适用了,关于这点朋友们可以参考有关书籍
  2、onmouseover与onmousemove的区别是:当鼠标移过当前对象时就产生了onmouseover事件,当鼠标在当前对象上移动时就产生了onmousemove事件,只要是在对象上移动而且没有移出对象的,就是onmousemove事件。我当前就是因为这个onmouseover事件惹的祸要不早就搞定了。今天写出来让朋友们也能注意这一点。
  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是实现这个功能的Python代码: ```python import matplotlib.pyplot as plt import numpy as np # 定义正弦函数 def sin_function(x): return np.sin(x) # 生成 x 和 y 值 x = np.arange(0, 2 * np.pi, 0.01) y = sin_function(x) # 绘制正弦曲线 fig, ax = plt.subplots() line, = ax.plot(x, y) # 设置图形背景色为白色 fig.patch.set_facecolor('white') # 定义鼠标移动事件处理函数 def on_move(event): # 如果鼠标在图形区域内 if event.inaxes == ax: # 设置背景色为黄色 fig.patch.set_facecolor('yellow') # 获取鼠标的坐标 x, y = event.xdata, event.ydata # 如果距离正弦曲线小于2个像素 if abs(y - sin_function(x)) < 2: # 在鼠标上方出现文本标注当前值 ax.text(x, y+0.5, f'{sin_function(x):.2f}', ha='center') else: # 鼠标远离曲线时文本标注自动消失 ax.texts = [] else: # 鼠标离开图形区域时将其恢复为白色 fig.patch.set_facecolor('white') ax.texts = [] # 绑定鼠标移动事件处理函数 fig.canvas.mpl_connect('motion_notify_event', on_move) # 显示图形 plt.show() ``` 以上代码使用 `matplotlib` 库绘制了一个周期的正弦曲线,并实现了以下两个功能: 1. 当鼠标进入图形区域时,将图形背景色设置为黄色,当鼠标离开图形区域时将其恢复为白色。 2. 当鼠标移动至正弦曲线附近(距离小于2个像素)时在鼠标上方出现文本标注当前值,鼠标远离曲线时文本标注自动消失。 注意:代码中的 `sin_function` 函数定义了一个正弦函数,用于生成正弦曲线的 y 值。函数中的 `np.sin` 函数是 `numpy` 库中的正弦函数。在代码中我们使用了 `numpy` 库中的 `arange` 函数生成了一组 x 值,步长为 0.01,范围为 0 到 2π。`fig, ax = plt.subplots()` 用于创建一个新的图形并返回一个 `Figure` 和一个 `Axes` 对象。`ax.plot(x, y)` 用于绘制正弦曲线,返回一个 `Line2D` 对象。`fig.patch` 是 `Figure` 对象的属性,用于设置图形的背景色。`ax.text()` 用于在指定的坐标位置添加文本标注,`ax.texts` 是 `Axes` 对象的属性,是一个文本标注列表,用于在需要时清除文本标注。`fig.canvas.mpl_connect()` 用于绑定鼠标移动事件处理函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值