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 相关文章推荐
JQuery入门——用bind方法绑定事件处理函数应用介绍
Feb 05 Javascript
JS实现可改变列宽的table实例
Jul 02 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
JavaScript 基本概念
Jan 20 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
Oct 22 Javascript
详解Bootstrap按钮
Jan 04 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python创建关联数组(字典)的方法
2015/05/04 Python
python异常和文件处理机制详解
2016/07/19 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
自动化系在校本科生求职信
2013/10/23 职场文书
邮政员工辞职信
2014/01/16 职场文书
聚美优品励志广告词
2014/03/14 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
十八大观后感
2015/06/12 职场文书
开业典礼致辞
2015/07/29 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
浅谈Python中的正则表达式
2021/06/28 Python