js菜鸟求助 js if-else判断语句的问题
这样一个,点击按钮弹出提示,再点击隐藏提示的简单功能,为什么我写的代码,开始要点第二次才行,第一次点击的时候没反应效果:代码如下:css:<styletype="text...
这样一个,点击按钮弹出提示,再点击隐藏提示的简单功能,为什么我写的代码,开始要点第二次才行,第一次点击的时候没反应
效果:
代码如下:
css:
<style type="text/css">
ul#tips{ list-style:none; display:none;}
li{ width:90px;border:1px solid #ccc;}
</style>
html:
<input type="button" id="btn" value="点击"/>
<ul id="tips">
<li>tips1</li>
<li>tips2</li>
<li>tips3</li>
</ul>
script:
<script type="text/javascript">
function show(){
var btn=document.getElementById("btn");
var tips=document.getElementById("tips");
btn.onclick=function(){
if(tips.style.display=="none"){
tips.style.display="block"
}
else{tips.style.display="none"}
}
}
window.onload=function(){show();}
</script>
改了一下if语句
if(tips.style.display=="block"){
tips.style.display="none"
}
else{tips.style.display="block"}
}
这样先判断block才可以,什么原因? 展开
效果:
代码如下:
css:
<style type="text/css">
ul#tips{ list-style:none; display:none;}
li{ width:90px;border:1px solid #ccc;}
</style>
html:
<input type="button" id="btn" value="点击"/>
<ul id="tips">
<li>tips1</li>
<li>tips2</li>
<li>tips3</li>
</ul>
script:
<script type="text/javascript">
function show(){
var btn=document.getElementById("btn");
var tips=document.getElementById("tips");
btn.onclick=function(){
if(tips.style.display=="none"){
tips.style.display="block"
}
else{tips.style.display="none"}
}
}
window.onload=function(){show();}
</script>
改了一下if语句
if(tips.style.display=="block"){
tips.style.display="none"
}
else{tips.style.display="block"}
}
这样先判断block才可以,什么原因? 展开
展开全部
因为你没有给你的<ul id="tips">这里设置display等于none的属性
而你这里是这样写的
if(tips.style.display=="none"){
tips.style.display="block"
}
else{tips.style.display="none"}
就是说点第一次的时候进到了else这里,这是后才给tips.style.display赋了个none值
然后点第二次if(tips.style.display=="none")这里才生效.
而你这里是这样写的
if(tips.style.display=="none"){
tips.style.display="block"
}
else{tips.style.display="none"}
就是说点第一次的时候进到了else这里,这是后才给tips.style.display赋了个none值
然后点第二次if(tips.style.display=="none")这里才生效.
追问
我感觉,不管if等于什么 第一次点击都会进到else里呢?
if(tips.style.display=="block"){
alert("0")}else{alert("1")}
这样不管if display等于什么 第一次点击都会alert 1,
是不是这样理解,没有点击的时候,display值为空,不是none也不是block,所以都会执行else
追答
对啊,所以我才说你没有给你的这个元素设置上display属性,所以display值为空,那就会执行else,让后再去给它赋none值嘛
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询