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 相关文章推荐
再谈javascript 动态添加样式规则 W3C校检
Dec 25 Javascript
javascript语言结构小记(一)
Sep 10 Javascript
谈谈JavaScript自定义回调函数
Oct 18 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
如何使用bootstrap框架 bootstrap入门必看!
Apr 13 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
Vue-Access-Control 前端用户权限控制解决方案
Dec 01 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
实现Vue的markdown文档可以在线运行的方法示例
Dec 11 Javascript
Vue Prop属性功能与用法实例详解
Feb 23 Javascript
Javascript通过控制类名更改样式
May 24 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取得一个类的属性和方法的实现代码
2011/05/22 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
理解JavaScript中的事件
2006/09/23 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
Python的词法分析与语法分析
2013/05/18 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
基于python实现聊天室程序
2018/07/27 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
django 环境变量配置过程详解
2019/08/06 Python
Python简单实现区域生长方式
2020/01/16 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
计算机操作自荐信
2013/12/07 职场文书
英文自荐信
2013/12/15 职场文书
作风建设剖析材料
2014/10/06 职场文书
家装电话营销开场白
2015/05/29 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python
go开发alertmanger实现钉钉报警
2021/07/16 Golang
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
DSP接收机前端设想
2022/04/05 无线电