html网页制作,javascript,一个按钮如何有两种功能?为什么按钮点击两次才行?

</head><body><script>functionblock(){if(document.getElementById('text').style.display... </head>
<body>
<script>
function block()
{
if (document.getElementById('text').style.display=='block'){
document.getElementById('button1').value="显示";
document.getElementById('text').style.display='none';
}else{
document.getElementById('button1').value="隐藏";
document.getElementById('text').style.display='block';
}
}
</script>
<div id='text' style="position:fixed; z-index:1;">123</div>
<br>
<input type='button' id="button1" value='隐藏' onclick="block()"/>
</body>
</html>
为什么第一次点击按钮要点击两次才行?
怎么修改?
展开
 我来答
澤希Dc
2014-05-13 · TA获得超过1747个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:244万
展开全部

当你点击按钮的时候,document.getElementById('text').style.display这个值是空,不是'block',所以会进入else条件里,所以第一次隐藏不了

1. 你可以在div的style里加入display:block;让div的初始值为block,这样就能进入if里了

style="position:fixed; z-index:1;display:block;"

2. 或者不加display:block;,把js那段改成下面也可以:

if (document.getElementById('text').style.display==''){
document.getElementById('button1').value="显示";
document.getElementById('text').style.display='none';
}else{
document.getElementById('button1').value="隐藏";
document.getElementById('text').style.display='';
}

两种方法都可以,希望可以帮到你

更多追问追答
追问
第二种方法 display为空值 不太明白
追答
这个不太好解释,你就这样理解吧,对于div,空值和block的效果是一样的
adsfgw33
2014-05-13 · 超过33用户采纳过TA的回答
知道答主
回答量:271
采纳率:0%
帮助的人:71.4万
展开全部
你这样写的话第一次点击相当于初始化,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3d6bdd3
2014-05-13 · TA获得超过288个赞
知道小有建树答主
回答量:484
采纳率:50%
帮助的人:114万
展开全部
button的默认方式不是display=block
第一次点击相当于你把button设置为display=block
你可以在button上加一个样式 style="display:block" 这样就只需要点击一次就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式