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实现的网页颜色代码表全集
Jul 17 Javascript
Javascript 学习笔记 错误处理
Jul 30 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
通过隐藏iframe实现无刷新上传文件操作
Mar 16 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
May 04 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
Dec 27 Javascript
canvas实现钟表效果
Feb 13 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
jquery判断滚动条距离顶部的距离方法
Sep 05 jQuery
使用webpack搭建vue环境的教程详解
Dec 31 Javascript
Element-UI+Vue模式使用总结
Jan 02 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 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+dbfile开发小型留言本
2006/10/09 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
2013/09/22 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
使用python分析git log日志示例
2014/02/27 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
Python中生成ndarray实例讲解
2021/02/22 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
纯css3实现走马灯效果
2014/12/26 HTML / CSS
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
教师自荐书
2013/10/08 职场文书
教师申诉制度
2014/01/29 职场文书
语文教育专业求职信
2014/06/28 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
运动会表扬稿范文
2015/05/05 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
庆七一晚会主持词
2015/06/30 职场文书
公司借款担保书
2015/09/22 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
Redis过期数据是否会被立马删除
2022/07/23 Redis