在两个元素间实现"无缝"移动
2014-08-29 02:00
267 查看
即:从鼠标移到元素A,元素B显现。鼠标移出元素A,元素B消失。在元素A与元素B之间移动,元素B一直保持可见状态。
原理与步骤:
1:设置元素B的display属性为none;
2:用JS获得元素A和B,为元素AB分别添加鼠标移入移出事件。当鼠标移入元素A时,元素B的display属性改为BLOCK。当鼠标移出元素A时,开启一个setTImeout延时定时器,使元素B推迟消失。当鼠标移动到元素B元素时,清除定时器,并为元素B设置为BLOCK属性值。当鼠标移出元素B时,同时开启延迟定时器。如果再移到A的话,先清除定时器。
代码:
<html>
<head>
<meta charset="utf-8"/>
<title>移出移入</title>
<style>
#div1{width:300px; height:300px; background:red; position:absolute; top:0; left:0;}
#div2{width:200px; height:200px; background:red; position:absolute; top:0; left:320px; display:none;}
</style>
<script>
var timer;
window.onload=function(){
oDiv1=document.getElementById("div1");
oDiv2=document.getElementById("div2");
oDiv1.onmouseover=oDiv2.onmouseover=function(){
clearTimeout(timer);
oDiv2.style.display="block";
}
oDiv1.onmouseout=oDiv2.onmouseout=function(){
timer=setTimeout(function(){
oDiv2.style.display="none";
},500);
}
}
</script>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
<html>
原理与步骤:
1:设置元素B的display属性为none;
2:用JS获得元素A和B,为元素AB分别添加鼠标移入移出事件。当鼠标移入元素A时,元素B的display属性改为BLOCK。当鼠标移出元素A时,开启一个setTImeout延时定时器,使元素B推迟消失。当鼠标移动到元素B元素时,清除定时器,并为元素B设置为BLOCK属性值。当鼠标移出元素B时,同时开启延迟定时器。如果再移到A的话,先清除定时器。
代码:
<html>
<head>
<meta charset="utf-8"/>
<title>移出移入</title>
<style>
#div1{width:300px; height:300px; background:red; position:absolute; top:0; left:0;}
#div2{width:200px; height:200px; background:red; position:absolute; top:0; left:320px; display:none;}
</style>
<script>
var timer;
window.onload=function(){
oDiv1=document.getElementById("div1");
oDiv2=document.getElementById("div2");
oDiv1.onmouseover=oDiv2.onmouseover=function(){
clearTimeout(timer);
oDiv2.style.display="block";
}
oDiv1.onmouseout=oDiv2.onmouseout=function(){
timer=setTimeout(function(){
oDiv2.style.display="none";
},500);
}
}
</script>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
<html>
相关文章推荐
- 用js实现两个select下拉框之间的元素互相移动
- 用js实现两个select下拉框之间的元素互相移动
- 实现在两个JList中元素移动and实现数据更改后排序
- 用js实现两个select下拉框之间的元素互相移动
- QT 利用两种方式实现两个list中元素的互相移动
- 两个列表框中的元素相互移动(源代码)
- 使用javascript实现两个listbox中list的移动
- javascript的数组元素,为Array增加两个函数,实现删除功能
- 用css3实现元素移动
- JavaScript 对两个select 元素进行操作,移动其中的选项
- jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
- 在C#中实现两个listbox的项移动(winform)
- 用JavaScript实现两个列表框的数据移动
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- 两个数组取相同元素,单层循环的实现?
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- node在两个div之间移动,用ztree实现
- 使用Ajax实现DropDownList和ListBox的联动以及两个ListBox之间数据的移动
- 删除两个升序正数组中重复元素的C程序实现代码