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 相关文章推荐
javascript的函数作用域
Nov 12 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
Sep 17 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
bootstrap学习笔记之初识bootstrap
Jun 21 Javascript
jQuery事件对象总结
Oct 17 Javascript
jquery validation验证表单插件
Jan 07 Javascript
前端开发之CSS原理详解
Mar 11 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
Jun 12 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
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中的多态性[译]
2011/08/02 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php生成QRcode实例
2014/09/22 PHP
php数组键值用法实例分析
2015/02/27 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
法人代表委托书
2014/04/04 职场文书
中华魂演讲稿
2014/05/13 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
西柏坡导游词
2015/02/05 职场文书
行政处罚决定书
2015/06/24 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python