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中this关键字使用方法详解
Mar 08 Javascript
JScript的条件编译
May 29 Javascript
[JSF]使用DataModel处理表行事件的实例代码
Aug 05 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
jQuery弹出框代码封装DialogHelper
Jan 30 Javascript
不能不知道的10个angularjs英文学习网站
Mar 23 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 Javascript
vue实现手机号码抽奖上下滚动动画示例
Oct 18 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
Aug 02 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
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
js实现无缝轮播图插件封装
2020/07/31 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
NumPy中的维度Axis详解
2019/11/26 Python
Python 如何批量更新已安装的库
2020/05/26 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
二年级体育教学反思
2014/01/15 职场文书
小学作文评语大全
2014/04/21 职场文书
2014年车间工作总结
2014/11/21 职场文书
安全承诺书
2015/01/19 职场文书
收银员岗位职责范本
2015/04/07 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android