為啥函數(shù)外聲明了變量,在函數(shù)里面不能用,了解一下吧
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>display</title>
??? <script type="text/javascript">
??? var mychar = document.getElementById("con");
??????? function hidetext()?
??{?
??mychar.style.display="none";
???????
??}?
??function showtext()?
??{?
??mychar.style.display="block";
???????
??}
??? </script>
</head>
<body>?
??? <h1>JavaScript</h1>?
??? <p id="con">做為一個(gè)Web開(kāi)發(fā)師來(lái)說(shuō),如果你想提供漂亮的網(wǎng)頁(yè)、令用戶滿意的上網(wǎng)體驗(yàn),JavaScript是必不可少的工具。</p>
??? <form>
?????? <input type="button" onclick="hidetext()" value="隱藏內(nèi)容" />
?????? <input type="button" onclick="showtext()" value="顯示內(nèi)容" />
??? </form>
</body>
</html>
2018-11-25
因?yàn)?/p>
步驟一:var mychar = document.getElementById("con");這個(gè)語(yǔ)句是把p標(biāo)簽的對(duì)象賦值給mycahr。
而這個(gè)動(dòng)作是通過(guò)點(diǎn)擊“隱藏內(nèi)容”和“顯示內(nèi)容”來(lái)執(zhí)行的。
你點(diǎn)擊隱藏內(nèi)容執(zhí)行hidetext()函數(shù),而函數(shù)體內(nèi)就執(zhí)行了步驟一,然后執(zhí)行mychar.style.display="none";并隱藏內(nèi)容。
顯示內(nèi)容也是如此。
你把var mychar = document.getElementById("con");放到函數(shù)體外的時(shí)候,當(dāng)你點(diǎn)擊隱藏或顯示內(nèi)容按鈕的時(shí)候,這個(gè)語(yǔ)句就沒(méi)有執(zhí)行嘛。
這樣子就OK了。
2018-11-25
我也被你的問(wèn)題困擾了很久....
body中最后加<script>var mychar = document.getElementById("con");</script>就好了
先執(zhí)行p id=con后才能被getElementById獲取到,放在head中先執(zhí)行g(shù)etElementById的話根本沒(méi)有con這個(gè)元素。
函數(shù)是調(diào)用的,順序不影響執(zhí)行,所以放在函數(shù)中就沒(méi)有順序問(wèn)題了。