javascript 实现动态侧边栏实例详解


Posted in Javascript onNovember 11, 2016

javascript 实现动态侧边栏

总的来说就是利用 鼠标悬停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;}

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

 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>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
Dec 27 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
JavaScript 开发工具webstrom使用指南
Dec 09 Javascript
jQuery中after()方法用法实例
Dec 25 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
vue 中directive功能的简单实现
Jan 05 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
使用weixin-java-tools完成微信授权登录、微信支付的示例
Sep 26 Javascript
js数组去重的方法总结
Jan 18 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
Nov 11 #Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
Nov 11 #Javascript
JSON与XML的区别对比及案例应用
Nov 11 #Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 #Javascript
JS中数组重排序方法
Nov 11 #Javascript
js编写的treeview使用方法
Nov 11 #Javascript
Vue.js教程之计算属性
Nov 11 #Javascript
You might like
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
node.js操作mysql(增删改查)
2015/07/24 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
js实现tab切换效果
2017/02/16 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
Python实现telnet服务器的方法
2015/07/10 Python
Python中基本的日期时间处理的学习教程
2015/10/16 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
python浪漫表白源码
2019/04/05 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
八年级音乐教学反思
2014/01/09 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
2014年宣传工作总结
2014/11/18 职场文书
避暑山庄导游词
2015/02/04 职场文书
大学生十八大感想
2015/08/11 职场文书
开学第一周日记(三篇范文)
2019/08/23 职场文书
MySQL之DML语言
2021/04/05 MySQL
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Redis入门基础常用操作命令整理
2022/06/01 Redis