为了账号安全,请及时绑定邮箱和手机立即绑定

请问大神,我为什么在window.onload的匿名函数里面写显示、隐藏的方法就错了,去掉window.onload就正确了?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<div id="commend_prop">
			<p>手机-商品筛选</p>
			<p>网络:移动、电信、联通</p>
			<p>CPU核数:十核 八核 双四核 四核 双核 单核 无 其他</p>
			<div id="more_prop" style="display: none;">
				<p>像素:1600万以上 1000-1600万 500-1000万 500万以下 无 其他</p>
			</div>
		</div>
		<div>
			<a href="javascript:showdiv();" class="open" id="href_toggler" ">更多选项</a>
			
		</div>
		<script type="text/javascript">

                                              window.onload=function(){

                var moreProp=document.getElementById("more_prop");//隐藏的更多选项
				var href_toggler=document.getElementById("href_toggler");//开关内容
				function showdiv() {
					console.log(moreProp);

					moreProp.style.display="block";
					href_toggler.href="javascript:hidediv();";
					href_toggler.innerHTML="精简选项";
				}
				function hidediv() {
					moreProp.style.display="none";
					href_toggler.href="javascript:showdiv();";
					href_toggler.innerHTML="更多选项";
				}

                                            }  

		</script>
	</body>
</html>



正在回答

3 回答

不用写window.onload,你的js写在了body的最后面,代码是从上到下执行的,页面中的元素加载完就执行js代码,而window.onload的意思是等到页面加载完成后再执行。如果js代码写在head里面就要写window.onload。

0 回复 有任何疑惑可以回复我~
#1

红衣々主教 提问者

非常感谢!
2016-10-24 回复 有任何疑惑可以回复我~

同样的情况,我把它放在了head头部中也不行,得去掉window.onload才行,这是为什么呢?

0 回复 有任何疑惑可以回复我~

我把它放在head中也不行啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
展开与收起效果
  • 参与学习       33641    人
  • 解答问题       179    个

通过效果展示与案例分析,教您实现不同类型的展开与收起效果

进入课程

请问大神,我为什么在window.onload的匿名函数里面写显示、隐藏的方法就错了,去掉window.onload就正确了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信