点击按钮弹出一个div,再点击按钮或点击其他区域关闭该div,javascript代码如何实现?

如题所述

var 按钮=document...;
var div=document....;

//点击按钮弹出div 在点击按钮关闭该div
按钮.onclick=function()
{
if(div.style.display=="none")
{
div.style.display="block";
}
else
{
div.style.display="none";
}
}

//点击其他地方关闭div
document.onclick=function()
{
div.style.display="none";
}

//为了防止点击div 也关闭div 所以这里要防止冒泡
div.onclick=function()
{
return false;
}

希望对你有所帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-02
<html>
<head>
<script type="text/javascript">
var arr=null;
function ckThis(){
    var createDiv = document.createElement("div");
    createDiv.style.left = 300;
    createDiv.style.top = 300;
    createDiv.style.height = 50;
    createDiv.style.width = 50;
    createDiv.style.position = 'absolute';
    createDiv.style.border = '1px dotted #AAAAFF';
arr = createDiv;
    window.document.body.appendChild(arr);
}
function clThis(){
arr.parentNode.removeChild(arr);
};
</script>
</head>
<body>
    <input type="button" value="按钮" onclick="ckThis();"/>
<input type="button" value="取消" onclick="clThis();" />
</body>
</html>

直接给你代码了,具体实现什么功能,可以在这个基础上扩展

第2个回答  2013-08-02
让我来。。
由于百度要的答案不能有网址,不然会被屏蔽的,下面代码src中写下列网址:http://code@jquery@com/jquery-1.10.2@js
把@换成.

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src=""></script>
</head>
<script>
$(document).ready(function() {
$("#obj").hover(
function(){$(this).css('display', 'block');},
function(){$(this).css('display', 'none');}
);
$(".control").click(function(){
$("#obj").toggle();
})
});
</script>
<body>

<div id="obj" style="background-color:red;border:2px solid #666;height:300px;">其他内容</div>
<div class="control"><input type="button" value="我是按钮么"/></div>
</body>
</html>追问

试了一下 点击按钮没反应哈 。。

追答

我在所有浏览器测试正确,是不是你的src都替换或没有替换正确

追问

嗯 是有用 不过div展开后 鼠标移开后就自动关闭了 呵呵

追答



test

test

$(document).ready(function() {
$(".control").click(function(event){
$("#box").slideToggle();
event.stopPropagation();
});
$(document).click(function(){
$("#box").slideUp();
})
$('#box').click(function(){
return false;
});
});

其他内容

第3个回答  2013-08-02
设置style="display:none/block"属性试试追问

嗯,点击按钮来显示 隐藏实现了 但是点击其他区域也能关闭div要怎么判断呢?

点击按钮弹出一个div,再点击按钮或点击其他区域关闭该div,javascript代 ...
\/\/点击按钮弹出div 在点击按钮关闭该div 按钮.onclick=function(){ if(div.style.display=="none"){ div.style.display="block";} else { div.style.display="none";} } \/\/点击其他地方关闭div document.onclick=function(){ div.style.display="none";} \/\/为了防止点击div 也关闭div 所以...

点击按钮弹出div,然后再点击除了该div的其他部分区域,该div消失_百度知...
第一步点击其他区域,这个div消失。建议你在这个div外层加一层overlay,这个overlay遮住除div之外所有其他东西。这样比较好判断是不是点击的这个div。函数如下,功能是点击overlay之后overlay消失。div是在overlay内的,当然也会消失。('overlay').click(function(){ (this).css('display','none');});第...

一个弹出div,当点击页面上除了这个div这外的地方,隐藏这个div,jquery...
用document的onmousedown 响应鼠标在页面上的点击事件 IE中用event.srcElement;FF中用e.target;能获得鼠标点击的对象 然后你判断该对象是否为选择城市的这个div 不是的话就隐藏该 div 我想怎么用jquery你应该知道 吧 (document).mousedown(function(event){ alert(event.target.id); \/\/这样会弹出你单...

如何通过JAVASCRIPT实现,当鼠标移动到一个DIV内时,DIV显示,当鼠标移...
所以display='none'时,页面上根本不存在该DIV,故不能触发 如果你另外用一个按钮什么的触发就行了

用JS如何设定层的模式化 ,当点击一个按钮弹出层,并禁用页面。_百度知 ...
\/\/弹出层 document.writeln("<div id=\\"divAdMsg\\" style=\\"Z-INDEX:99999; LEFT:0px;POSITION:absolute;height:307px; width:450px;display:none;background-color:#FFF;\\"><a href=\\"javascript:closeAdMsg();\\" \/>关闭弹出层<\/a><\/div>");var divAdMsg = document.getElementById(...

如何创建一个JavaScript弹出DIV窗口层的效果
最上层(将使用JS操作实现)。此外,我们还将在弹出DIV窗口中设置一个按钮来执行——当用户点击此按钮时关闭窗口的功能。实现过程:就如我上面提到的,我们首先需要创建一个特殊的DIV层,然后我们将弹出窗口的内容放在这个DIV层里面。在这里,我们将其ID命名为“popupcontent ”以区别于其他DIV层。<div ...

怎么用js或jq点击展开,出现隐藏的DIV,点击收起DIV又隐藏起来.
<script src="jquery-1.8.2.js"><\/script><script>\/*展开和收起用一个div,也可以说它是个按钮,假设它的id=d1;假设需要显示和隐藏的div叫d2;下面这段代码只是粗略的实现了你的要求,主要是给你提供个思路;*\/$(function(){$('#d1').click(function(){\/\/给d1绑定一个点击事件; \/*这...

点击a链接弹出DIV,点击DIV层以外就关闭DIV层
设置一个遮罩层100%覆盖屏幕默认 display:none 这只一个div 默认值 display:none 点击a时:添加onclick事件{ 查找div修改其display的值为block 查找遮罩层让其display的值为block } 为遮罩层添加onclick事件:{ 查找div修改其display的值为none 查找遮罩层让其display的值为none } 这就是弹窗的原理 ...

怎么用div弹出一个确认页面,点击确定跳到另外一个页面,取消则div...
title.title = "点击关闭";title.innerHTML="<table border='0′ width='100%'><tr><td align='left'><b>"+ strTitle +"<\/b><\/td><td>关闭<\/td><\/tr><\/table><\/div>";title.onclick=function(){ document.body.removeChild(bgObj);document.getElementById("msgDiv").removeChild(...

点击一个div图层,在其上面弹出另一个div图层,用js怎么实现
两个div 先写好,一个先隐藏,点击后更改其属性,让其显示 <!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document<\/title> <style> .outer{ position: relative; height: 300px; width: 500px; background-color: #097df3; } .d1...

相似回答