JavaScript实现动态侧边栏:鼠标悬停显示与隐藏

作者:交互手记

时间:2026-10-28

浏览:87

本文介绍如何使用JavaScript结合CSS定位实现动态侧边栏效果。通过监听onmouseover和onmouseout事件,利用setInterval定时器控制元素left属性的变化,实现侧边栏的平滑滑入与滑出动画。

文章目录

JavaScript实现动态侧边栏:鼠标悬停显示与隐藏

该效果主要依赖鼠标悬停(onmouseover)和鼠标移除(onmouseout)这两个事件来触发。

HTML结构

首先构建HTML结构。

具体代码如下:

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

CSS样式设置

接下来设置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;}

默认状态下,侧边栏处于隐藏状态,效果如图:

JavaScript实现动态侧边栏:鼠标悬停显示与隐藏

当鼠标移入后,侧边栏显示,效果如图:

JavaScript实现动态侧边栏:鼠标悬停显示与隐藏

完整代码实现

以下是完整代码示例。

代码如下:

<!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>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章