鼠标经过li时显示一个div如何做到?Javascript

就像这样而且百度好智能,有时候显示在li的上面,有时候在下面... 就像这样

而且百度好智能,有时候显示在li的上面,有时候在下面
展开
 我来答
网海1书生
科技发烧友

2014-10-17 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
<ul>
<li>把鼠标放到这里1111222333</li>
<li>把鼠标放到这里aaadddffgfg</li>
<li>把鼠标放到这里vcvvbvb</li>
<li>把鼠标放到这里765787687</li>
<li>把鼠标放到这里hgfhgfjhj</li>
<li>把鼠标放到这里iyuiyui</li>
</ul>
<div id=tips style="display:none;POSITION:absolute;border:1px solid #ddd;background-color:#eee;padding:8px"></div>
<script>
window.onload=function(){
var lis=document.getElementsByTagName("li");
for(i=0;i<lis.length;i++){
lis[i].onmouseover=function(){
tips.innerHTML="你的鼠标指针所在的文字是:<br>"+this.innerText;
tips.style.display="block";
tips.style.left=this.offsetLeft+"px";
tips.style.top=this.offsetTop+this.offsetHeight+"px";
}
lis[i].onmouseout=function(){
tips.style.display="none";
}
}
}
</script>

至于智能判断显示位置,可以在显示之前先计算<li>的底端再加上<div>的高度是否会超出浏览器的显示范围,如果超出,就把<div>的top设为<li>的顶端再减去<div>的高度,这样的话<div>就会显示在<li>的上面而不至于跑到屏幕下面去了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式