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 相关文章推荐
Ajax+Json 级联菜单实现代码
Oct 27 Javascript
input的focus方法使用
Mar 13 Javascript
this和执行上下文实现代码
Jul 01 Javascript
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 Javascript
jQuery实现多级联动下拉列表查询框
Jan 18 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
Apr 26 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
Jan 12 Javascript
vue之将echart封装为组件
Jun 02 Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 Javascript
react中Suspense的使用详解
Sep 01 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 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的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
session 加入redis的实现代码
2016/07/15 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
JS获取整个页面文档的实现代码
2011/12/15 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
python实现滑雪游戏
2020/02/22 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
基于matplotlib xticks用法详解
2020/04/16 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
大学校园活动策划书
2014/02/04 职场文书
活动总结的格式
2014/05/07 职场文书
合作协议书范本
2014/10/25 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
人生感悟经典句子
2019/08/20 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技