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 相关文章推荐
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
JavaScript Array对象扩展indexOf()方法
May 09 Javascript
jQuery中通过ajax的get()函数读取页面的方法
Feb 29 Javascript
javascript事件模型介绍
May 31 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
Nov 20 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
Jan 16 Javascript
vue-cli2 构建速度优化的实现方法
Jan 08 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 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 过滤器实现代码
2010/08/09 PHP
php发送邮件的问题详解
2015/06/22 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
python装饰器初探(推荐)
2016/07/21 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
如何用Python合并lmdb文件
2018/07/02 Python
python字符串Intern机制详解
2019/07/01 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
美国家具网站:Cymax
2016/09/17 全球购物
ghd法国官方网站:英国最受欢迎的美发工具品牌
2019/04/18 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
高校毕业生登记表自我鉴定
2013/11/03 职场文书
旷课检讨书2000字
2014/01/14 职场文书
化验员岗位职责
2015/02/14 职场文书
行为习惯主题班会
2015/08/14 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis