js和css写一个可以自动隐藏的悬浮框


Posted in Javascript onMarch 05, 2014

今天写一个小实例,用js和css写一个可以自动隐藏的悬浮框。css肯定是用来控制样式的,js用来控制器显示与隐藏的。显示与隐藏通常有两种方法实现:1,用js控制其显示属性;2,用js控制其大小。

今天要说的就是通过控制其大小来实现元素的显隐,原理:为其注册鼠标移入、移出的事件,当鼠标移出对象范围,将其宽度设为1,当鼠标再次移入该对象,将其宽度还原。很简单,我们一起看看吧!

隐藏状态:

js和css写一个可以自动隐藏的悬浮框 

左边那一条窄线就是隐藏以后的悬浮框。

显示状态:
js和css写一个可以自动隐藏的悬浮框 

当鼠标滑到左边的悬浮框上,悬浮框就又显示出来了。

CSS样式:

<style> 
* { font-size:12px; font-family:Verdana,宋体; } 
html, body { margin:0px; padding:0px; overflow:hidden; } 
.b { margin:0px; padding:0px; overflow:auto; } 
.line0 { line-height:20px; background-color:lightyellow; padding:0px 15px; } 
.line1 { line-height:18px; background-color:lightblue; padding:0px 10px; } 
.w { position:absolute; lift:10px; top:10px; width:1px; height:300px; overflow:hidden; border:2px groove #281; cursor:default; -moz-user-select:none; } 
.t { line-height:20px; height:20px; width:160px; overflow:hidden; background-color:#27C; color:white; font-weight:bold; border-bottom:1px outset blue; text-align:center; } 
.winBody { height:270px; width:160px; overflow-x:auto; overflow-y:auto; border-top:1px inset blue; padding:10px; background-color:white; } 
</style>

JS代码:
<script type="text/javascript"> function myshow(){ 
//document.getElementById('mydiv').style.display = "none"; 
document.getElementById('mydiv').style.width = "160px"; 
} //block 
function myhide(){ 
//document.getElementById('mydiv').style.display = "block"; 
document.getElementById('mydiv').style.width="1px"; 
} 
//测试用,随机生成一些内容,便于测试效果。 
for(var i=0; i<400; i++)document.write("<div class=\"line"+(i%2)+"\">"+(new Array(20)).join((Math.random()*1000000).toString(36)+" ")+"<\/div>"); 
new function(w,b,c,d,o){ 
d=document;b=d.body;o=b.childNodes;c="className"; 
b.appendChild(w=d.createElement("div"))[c]= "b"; 
for(var i=0; i<o.length-1; i++)if(o[i][c]!="w")w.appendChild(o[i]),i--; 
(window.onresize = function(){ 
w.style.width = d.documentElement.clientWidth + "px"; 
w.style.height = d.documentElement.clientHeight + "px"; 
})(); 
<span style="white-space:pre"> </span>} 
</script>

HTML代码:
<body > 
<div class="w" id="mydiv" onmousemove="myshow()" onmouseout="myhide()"> 
<div class="t">学生信息</div> 
<div class="winBody"> 
学号:<label>0123456789 </label><br><br> 
姓名:<label>小明 </label><br><br> 
学院:<label>软件学院 </label><br><br> 
专业:<label>软件工程</label><br><br> 
班级:<label>一班</label><br><br> 
</div> 
</div> 
</body>

用悬浮框来显示一些信息,当需要看的时候,指向它,它就会乖乖的出来,很方便;当不需要的时候鼠标移开,它又会很识趣的自己默默离开。虽然很简单,但是却有不错的用户体验,做出让用户用着舒服的东西,是我们不变的追求。
Javascript 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
ext form 表单提交数据的方法小结
Aug 08 Javascript
图解Sublime Text3使用技巧
Dec 21 Javascript
Js的Array数组对象详解
Feb 22 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
Sep 13 Javascript
利用Javascript裁剪图片并存储的简单实现
Mar 13 Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
vue+koa2搭建mock数据环境的详细教程
May 18 Javascript
JS封装cavans多种滤镜组件
Feb 15 Javascript
7个JS基础知识总结
Mar 05 #Javascript
100个不能错过的实用JS自定义函数
Mar 05 #Javascript
jQuery DOM操作实例
Mar 05 #Javascript
JS父页面与子页面相互传值方法
Mar 05 #Javascript
JS和函数式语言的三特性
Mar 05 #Javascript
jquery 使用简明教程
Mar 05 #Javascript
jquery form表单序列化为对象的示例代码
Mar 05 #Javascript
You might like
如何将数据从文本导入到mysql
2006/10/09 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python制作CSDN免积分下载器
2015/03/10 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
python list转置和前后反转的例子
2019/08/26 Python
django自定义模板标签过程解析
2019/12/14 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
EJB的基本架构
2016/09/22 面试题
大四学生找工作的自荐信
2014/03/27 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
企业务虚会发言材料
2014/10/20 职场文书
旅游项目合作意向书
2015/05/08 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL