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 相关文章推荐
tbody元素支持嵌套的注意方法
Mar 24 Javascript
DOM 基本方法
Jul 18 Javascript
js或css文件后面跟参数的原因说明
Jan 09 Javascript
JS 无限级 Select效果实现代码(json格式)
Aug 30 Javascript
js中this用法实例详解
May 05 Javascript
javascript实现简单的ajax封装示例
Dec 28 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
Jan 26 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
详解Vue前端对axios的封装和使用
Apr 01 Javascript
vue页面更新patch的实现示例
Mar 25 Javascript
JavaScript数组排序功能简单实现
May 14 Javascript
抖音短视频(douyin)去水印工具的实现代码
Mar 30 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的栏目导航程序
2006/10/09 PHP
PHP 多进程 解决难题
2009/06/22 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
js substr、substring和slice使用说明小记
2011/09/15 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
PyCharm中配置PySide2的图文教程
2020/06/18 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
.net开发工程师面试题
2014/02/25 面试题
一套中级Java程序员笔试题
2015/01/14 面试题
护士自荐信怎么写
2013/10/18 职场文书
公务员的自我鉴定
2013/10/26 职场文书
统计员岗位职责
2013/11/14 职场文书
餐饮加盟计划书
2014/01/10 职场文书
售后客服个人自我评价
2014/09/14 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript