有个问题!

AaddB 2002-04-03 07:39:07
我有一个<div style="display:block;">………………</div>
我想让鼠标在点击除了这个层的其他地方的时候把他隐藏起来,另外点击一个连接的时候又让它显示出来,大家帮帮忙,谢谢!
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
karma 2002-04-04
  • 打赏
  • 举报
回复
try

<script language="javascript">
function showLayer(bShow)
{
document.all("dvLayer").style.display = bShow? "":"none";
}

function document.onclick()
{
if (event.srcElement.tagName != "A" || event.srcElement.id != 'somelink')
{
showLayer(false);
}
}

function document.onmousemove()
{
document.all("dvLayer").style.posLeft = event.clientX;
document.all("dvLayer").style.posTop = event.clientY ;
}

</script>
<div id="dvLayer" style="display:none;position:absolute;left:0;top:0">hello world</div>
<a id="somelink" href="#" onclick="showLayer(true)">Show</a>
AaddB 2002-04-04
  • 打赏
  • 举报
回复
谢谢,不过我不是这个意思!
我想让鼠标点击这个层的时候它不会消失,只有点击其他地方的时候才会消失!
chenzengxi 2002-04-04
  • 打赏
  • 举报
回复
是不是这样呀?不是跟随鼠标而是在鼠标后面出现? 呵呵
<script language="javascript">
function showLayer(bShow)
{
document.all("dvLayer").style.display = bShow? "":"none";
}

function document.onclick()
{
if (event.srcElement.id == "dvLayer") return;
if (event.srcElement.tagName != "A" || event.srcElement.id != 'somelink')
{
showLayer(false);
}else{
dvLayer.style.left = event.x + 10;
dvLayer.style.top = event.y + 10;
}
}
</script>
<div id="dvLayer" style="display:none;position:absolute;left:0;top:0">hello world<br>hello world<br>hello world<br>hello world<br>hello world<br></div>
<a id="somelink" href="#" onclick="showLayer(true)">Show</a>
chenzengxi 2002-04-04
  • 打赏
  • 举报
回复
让这个层显示的位置跟着鼠标后面,然后还能点击这个层?呵呵,好像矛盾呀?
这样改改karma(无为)兄的代码。

<script language="javascript">
function showLayer(bShow)
{
document.all("dvLayer").style.display = bShow? "":"none";
}

function document.onclick()
{
if (event.srcElement.id == "dvLayer") return;
if (event.srcElement.tagName != "A" || event.srcElement.id != 'somelink')
{
showLayer(false);
}
}

function document.onmousemove()
{
document.all("dvLayer").style.posLeft = event.clientX - 20;
document.all("dvLayer").style.posTop = event.clientY - 20;
}

</script>
<div id="dvLayer" style="display:none;position:absolute;left:0;top:0">hello world<br>hello world<br>hello world<br>hello world<br>hello world<br></div>
<a id="somelink" href="#" onclick="showLayer(true)">Show</a>
AaddB 2002-04-04
  • 打赏
  • 举报
回复
没有人帮忙了吗?
关注一下呀!
AaddB 2002-04-03
  • 打赏
  • 举报
回复
还有就是让这个层显示的位置跟着鼠标后面!

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧