qq_季末先声_03133538
2016-04-11 14:01
<!doctupe html>
<html>
<head>
<meta charset="utf-8" />
<title>Dom练习</title>
<style type="text/css">
body{font-size:12px;}
#txt{
height:400px;
width:600px;
border:#333 solid 1px;
padding:5px;
}
p{
line-height:18px;
text-indent:2em;
}
</style>
<script type="text/javascript">
var mychar=document.getElementById("txt");
function changeC(){
mychar.style.color="red";
mychar.style.backgroundColor="gray";
}
function changeW(){
mychar.style.width="800px";
mychar.style.height="600px";
}
function hiddenC(){
mychar.style.display="none"
}
function displayC(){
mychar.style.display="block";
}
function cancelS(){
var res=confirm("取消设置?")
if(res){
mychar.style.color="#000";
mychar.style.backgroundColor="#fff";
mychar.style.width="600px";
mychar.style.height="400px";
mychar.style.display="block";
}
}
</script>
</head>
<body>
<h2 id="con">JavaScript课程</h2>
<div id="txt">
<h5>JavaScript为网页添加动态效果并实现与用户交互的功能</h5>
<p>1.JavaScript入门篇,让不懂JS的你快速了解JS</p>
<p>2.JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
<p>3.学习以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
</div>
<!--<script type="text/javascript">
var mychar=document.getElementById("txt");
function changeC(){
mychar.style.color="red";
mychar.style.backgroundColor="gray";
}
function changeW(){
mychar.style.width="800px";
mychar.style.height="600px";
}
function hiddenC(){
mychar.style.display="none"
}
function displayC(){
mychar.style.display="block";
}
function cancelS(){
var res=confirm("取消设置?")
if(res){
mychar.style.color="#000";
mychar.style.backgroundColor="#fff";
mychar.style.width="600px";
mychar.style.height="400px";
mychar.style.display="block";
}
}
</script>-->
<form>
<input type="button" value="改变颜色" onClick="changeC()" />
<input type="button" value="改变宽高" onClick="changeW()" />
<input type="button" value="隐藏内容" onClick="hiddenC()" />
<input type="button" value="显示内容" onClick="displayC()" />
<input type="button" value="取消设置" onClick="cancelS()" />
</form>
</body>
</html>
那么把这个js脚本放head里面还是body里面呢?
答案是不仅要放到body里面,而且还得放到定义id='vSort0'的列表框后面,因为这个js脚本中有document.form4.vSort0.selectedIndex,如果放到head里或者body的id='vSort0'前,页面加载后顺序执行代码,执行到这个js发现vSort0未定义(即undefind),这个js也就失去了作用。
而为什么我们经常看到有很多的人把js脚本放到head里面没事呢?对!
就是因为你看到的在head里的js代码有onclick等事件传递了变量给函数。
这就告诉我们,如果我们想定义一个全局对象,而这个对象与页面中的某个按钮(等等)有关时, 我们必须将其放入body中,道理很明显:如果放入head,那当页面加载head部分的时候,那个按钮(等等)都还没有被定义(也可以说是还没有被加 载,因为加载的过程就是执行代码的过程,包括了定义),你能得到的只可能是一个undefind。
JavaScript入门篇
740086 学习 · 9566 问题
相似问题
回答 2
回答 1