js点击出现悬浮窗效果不使用JQuery插件


Posted in Javascript onJanuary 20, 2014

JQuery有很多这样的插件,但是我们公司不用jquery,没有插件,所以我就试着自己写,我也不知道别人是怎么写的,纯粹是按着自己的想法来的。

直接上代码:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Demo</title> 
<script type="text/javascript"> 
window.onload = function(){ 
var btn = document.getElementsByTagName('button')[0]; 
var flt = document.getElementsByTagName('div')[0]; 
btn.onclick = function(){ 
event.cancelBubble = true; 
var x = btn.offsetLeft - 15 + 'px'; 
var y = btn.offsetTop - 100 + 'px'; 
flt.style.top = y; 
flt.style.left = x; 
flt.style.display = 'block'; 
} 
document.onclick = function(){ 
flt.style.display = 'none'; 
} 
} </script> 
<style type="text/css"> 
*{ 
margin: 0px; 
padding: 0px; 
} 
div{ 
width: 60px; 
height: 100px; 
background: #33ccff; 
display: none; 
position: absolute; 
} 
div ul{ 
text-align: center; 
} 
div li{ 
list-style-type: none; 
} 
button{ 
top: 300px; 
left: 400px; 
position: absolute; 
} 
</style> 
</head> 
<body> 
<button id="btn">Click</button> 
<div> 
<ul id="nav"> 
<li class="item1"><a href="">Demo 1</a></li> 
<li class="item2"><a href="">Demo 2</a></li> 
<li class="item3"><a href="">Demo 3</a></li> 
<li class="item4"><a href="">Demo 4</a></li> 
<li class="item5"><a href="">Demo 5</a></li> 
</ul> 
</div> 
</body> 
</html>

复制到本地就可以测试了。

这里要说一下cancelBubble这两个东西。因为我做的效果是点击按钮就显示div,点击页面的任意位置div就消失,但javascript的冒泡机制是button获得一个onclick事件后,往上冒泡,dom在获得一个onclick事件,这样的话就和让div消失的onclick事件冲突了,所以需要event.cancelBubble = true;这行代码来停止冒泡。大体就是这样,代码很简单。

Javascript 相关文章推荐
js编写trim()函数及正则表达式的运用
Oct 24 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
node.js [superAgent] 请求使用示例
Mar 13 Javascript
JavaScript实现数据类型的相互转换
Mar 06 Javascript
JavaScript学习笔记之数组去重
Mar 23 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 Javascript
轻松掌握JavaScript装饰者模式
Aug 27 Javascript
bootstrap select插件封装成Vue2.0组件
Apr 17 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 Javascript
JavaScript引用类型Array实例分析
Jul 24 Javascript
JavaScript中如何调用Java方法
Sep 16 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 #Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 #Javascript
js取值中form.all和不加all的区别介绍
Jan 20 #Javascript
如何实现textarea里的不同文本显示不同颜色
Jan 20 #Javascript
引用外部脚本时script标签关闭的写法
Jan 20 #Javascript
用jquery写的一个万年历(自写)
Jan 20 #Javascript
js控制input框只读实现示例
Jan 20 #Javascript
You might like
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
如何阻止移动端浏览器点击图片浏览
2020/08/29 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
Python内置函数dir详解
2015/04/14 Python
Django数据库表反向生成实例解析
2018/02/06 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
python 图像平移和旋转的实例
2019/01/10 Python
详解python中*号的用法
2019/10/21 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
中餐厅主管的职责范文
2014/02/04 职场文书
小学运动会班级口号
2014/06/09 职场文书
校运会广播稿
2015/08/19 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server