javascript实现动态侧边栏代码

时间:2021-05-26

总的来说就是利用 鼠标悬停onmouseover 和 鼠标移除onmouseout 这两个时间来完成的。

首先是HTML 结构

复制代码 代码如下:
<body>
<div id="div1">
<span>侧边栏</span>
</div>
</body>

然后是css的样式:

复制代码 代码如下:
#div1{
width:150px;
height:200px;
background:#999999;
position:absolute;
left:-150px;}
span{
width:20px;
height:70px;
line-height:23px;
background:#09C;
position:absolute;
right:-20px;
top:70px;}

默认的样式 侧边栏是隐藏起来的如图:

当鼠标移入以后如图:

下面是完整代码:
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#div1{
width:150px;
height:200px;
background:#999999;
position:absolute;
left:-150px;}
span{
width:20px;
height:70px;
line-height:23px;
background:#09C;
position:absolute;
right:-20px;
top:70px;}
</style>
<script>
window.onload=function(){
var odiv=document.getElementById('div1');
odiv.onmouseover=function ()
{

startmove(0,10);//第一个参数为div left属性的目标值 第二个为 每次移动多少像素

}
odiv.onmouseout=function ()
{
startmove(-150,-10);
}
}

var timer=null;
function startmove(target,speed)
{

var odiv=document.getElementById('div1');
clearInterval(timer);
timer=setInterval(function (){

if(odiv.offsetLeft==target)
{
clearInterval(timer);
}
else
{
odiv.style.left=odiv.offsetLeft+speed+'px';
}

},30)

}

</script>
</head>

<body>
<div id="div1">
<span>侧边栏</span>
</div>
</body>
</html>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章