手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js点击出现悬浮窗效果不使用JQuery插件
js点击出现悬浮窗效果不使用JQuery插件
摘要:JQuery有很多这样的插件,但是我们公司不用jquery,没有插件,所以我就试着自己写,我也不知道别人是怎么写的,纯粹是按着自己的想法来的...

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><a href="">Demo 1</a></li>

<li><a href="">Demo 2</a></li>

<li><a href="">Demo 3</a></li>

<li><a href="">Demo 4</a></li>

<li><a href="">Demo 5</a></li>

</ul>

</div>

</body>

</html>

复制到本地就可以测试了。

这里要说一下cancelBubble这两个东西。因为我做的效果是点击按钮就显示div,点击页面的任意位置div就消失,但javascript的冒泡机制是button获得一个onclick事件后,往上冒泡,dom在获得一个onclick事件,这样的话就和让div消失的onclick事件冲突了,所以需要event.cancelBubble = true;这行代码来停止冒泡。大体就是这样,代码很简单。

【js点击出现悬浮窗效果不使用JQuery插件】相关文章:

AspNet中使用JQuery上传插件Uploadify详解

js实现文本框选中的方法

jQuery实现转动随机数抽奖效果的方法

纯javascript实现四方向文本无缝滚动效果

jquery实现弹出层效果实例

javascript实现图片跟随鼠标移动效果的方法

JavaScript常用函数工具集:lao-utils

js实现仿Windows风格选项卡和按钮效果

js操作css属性实现div层展开关闭效果的方法

js实现带按钮的上下滚动效果

精品推荐
分类导航