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 相关文章推荐
zeroclipboard复制到剪切板的flash
Aug 04 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
js特殊字符过滤的示例代码
Mar 05 Javascript
js 数组去重的四种实用方法
Sep 09 Javascript
javascript中setInterval的用法
Jul 19 Javascript
jQuery打字效果实现方法(附demo源码下载)
Dec 18 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
Dec 29 Javascript
jQuery图片切换动画效果
Feb 28 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 Javascript
JQuery复选框全选效果如何实现
May 08 jQuery
详解nginx配置vue h5 history去除#号
Nov 09 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桌面中心(二) 数据库写入
2007/03/11 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
JQuery 写的个性导航菜单
2009/12/24 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
Nodejs之http的表单提交
2017/07/07 NodeJs
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Python requests上传文件实现步骤
2020/09/15 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
大二自我鉴定范文
2013/10/05 职场文书
历史系自荐信范文
2013/12/24 职场文书
管理心得体会
2013/12/28 职场文书
元旦获奖感言
2014/03/08 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
给朋友的赠语
2015/06/23 职场文书
Oracle笔记
2021/04/05 Oracle
python实现股票历史数据可视化分析案例
2021/06/10 Python
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
分享几个实用的CSS代码块
2022/06/10 HTML / CSS
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript