鼠标移入div1显示div2并且鼠标移到div2上div2仍然保持显示,移出才隐藏。两个div为单独div,不是父与子 10

 我来答
凉心本是优作
2018-10-26 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:97
采纳率:80%
帮助的人:45.8万
展开全部
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>选项卡案例</title>
<style>
body{ background-color: #ccc; }
.main{ margin: 20px auto; padding: 10px; width: 640px; background-color: #fff; }
.tab{ margin: 30px 0px; padding: 0px; border: 1px solid #f1f1f1; }
.tab-menu{ list-style-type: none; margin: 0px; padding: 0px; background-color: #f1f1f1; }
.tab-menu li{ margin: 0px; padding: 5px 10px; display: inline-block; cursor: pointer; }
.tab-menu-selected{ background-color: #fff; }
.tab-content{ padding: 10px; }
</style>
<script>
function Tab(element){
this.init = function(){
this.box = element;  //选项卡盒子
this.index = -1;      //选项索引
this.menus = [];     //菜单组
this.contents = [];  //内容组
var m = this.box.getElementsByClassName('tab-menu'),
c = this.box.getElementsByClassName('tab-content');
if(m.length >= 1 && c.length >= 1){
m = m[0].getElementsByTagName('li');
c = c[0].getElementsByTagName('div');
function mouseover(o, i){
return function(){
o.setIndex(i);
}
}
function mouseout(e){
e.stopPropagation(); //阻止事件冒泡
}
for(var i = 0; i < m.length; i++){
this.menus.push(m[i]);
this.contents.push(c[i]);
this.setIndex(this.index);
m[i].onmouseover = mouseover(this, i);
c[i].onmouseover = mouseover(this, i);
m[i].onmouseout = mouseout;
c[i].onmouseout = mouseout;
}
this.box.onmouseout = function(o){
return function(){
console.log('移出元素');
o.setIndex(-1);
}
}(this);
}else{
console.log('无法初始化,HTML结构不符合约定');
}
}
this.setIndex = function(index){
for(var i = 0; i < this.menus.length; i++){
this.menus[i].className = (i == index) ? 'tab-menu-selected' : '';
this.contents[i].style.display = (i == index) ? 'block' : 'none';
}
}
this.init();
}
window.onload = function(){
var testTab = new Tab(document.getElementById('testTab')),
testTab1 = new Tab(document.getElementById('testTab2'));
}
</script>
</head>
<body>
<div class="main">
<div id="testTab" class="tab">
<ul class="tab-menu">
<li>选项一</li>
<li>选项二</li>
<li>选项三</li>
</ul>
<div class="tab-content">
<div class="tab-item">这是选项卡一的内容</div>
<div class="tab-item">这是选项卡二的内容</div>
<div class="tab-item">这是选项卡三的内容</div>
</div>
</div>

<div id="testTab2" class="tab">
<ul class="tab-menu">
<li>选项一</li>
<li>选项二</li>
<li>选项三</li>
</ul>
<div class="tab-content">
<div class="tab-item">这是选项卡一的内容</div>
<div class="tab-item">这是选项卡二的内容</div>
<div class="tab-item">这是选项卡三的内容</div>
</div>
</div>
</div>
</body>
</html>
神话6传说哥
2018-11-05 · 超过26用户采纳过TA的回答
知道答主
回答量:75
采纳率:62%
帮助的人:19.9万
展开全部
给div1加鼠标移入事件,div2加鼠标移出事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式