clara89
2015-05-28 22:46
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<title>javascript</title>
<style type="text/css">
body{font-size:12px;}
#txt{
height:400px;
width:600px;
border:#333 solid 1px;
padding:5px;
overflow:hidden;}
.txt{ height:400px;
width:600px;
border:#333 solid 1px;
padding:5px;}
p{
line-height:18px;
text-indent:2em;}
</style>
</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>
<form>
<!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
<input type="button" value="改变颜色" onclick="c()" >
<input type="button" value="改变宽高" onclick="s()" >
<input type="button" value="隐藏内容" onclick="h()">
<input type="button" value="显示内容" onclick="d()">
<input type="button" value="取消设置" onclick="r()">
</form>
<script type="text/javascript">
var txt = document.getElementById("txt");
//定义"改变颜色"的函数
function c(){
txt.style.color="purple";
txt.style.backgroundColor="#ccc";
}
//定义"改变宽高"的函数
function s(){
txt.style.width="20px";
txt.style.height="200px";
}
//定义"隐藏内容"的函数
function h(){
h.style.display="none";
}funct
//定义"显示内容"的函数
function d(){
txt.style.display="block";
}
//定义"取消设置"的函数
function r(){
var r = confirm("是否取消所有设置?");
if(r==true){
txt.removeAttribute('style');
}else{null}
</script>
</body>
</html>
//你这里无效是因为你获取的id为txt的元素获取的太早,那时候可能还没加载出来JS语句就已经执行了。 //这里有几个方法解决这个问题。 //第一个,也就是等页面都加载好了再获取元素 window.onload= function() { //如果你在ready方法里定义txt,那你也要把方法都写在onload方法里 //否则就要把txt定义到外面。 var txt = document.getElementById("txt"); }; //方法二、 可以在调用的方法里直接获取元素 //当然,不建议这么弄,这样不利于代码的美观和优化。 function s(){ var txt = document.getElementById("txt"); txt.style.width="20px"; txt.style.height="200px"; } //方法三、可以直接写到标签上,更加不建议这么写 //onclick="javascript:var txt = document.getElementById("txt"); txt.style.width="20px";"
//定义"取消设置"的函数 function r(){ var r = confirm("是否取消所有设置?");/*错误1:分号为中文标点,应改为英文标点*/ if(r==true){ txt.removeAttribute('style'); } else{null} /*错误2:最后一行少了一个大括号*/
如果改正了上述两个错误后,取消设置按钮依旧无效,那么原因可能是:浏览器兼容性问题。(仔细阅读下面的文字哦,建议自己测试加深印象);
经测试,在淘宝浏览器极速模式下,该功能失效!!然而在其他浏览器(火狐、chrome、IE10)以及淘宝浏览器的兼容模式 中啥问题都没有!!原因:标签获取style属性失败,若在标签中预先写好style属性<p style="red"></p>,那么啥问题都没有啥浏览器都ok;若通过JavaScript操作DOM改变标签style属性,如:documen.getElementById.style.color="red" 那么removeAttribute()失效,暂时还没有解决办法;
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" /> <title>javascript</title> <style type="text/css"> body{font-size:12px;} #txt{ height:400px; width:600px; border:#333 solid 1px; padding:5px; overflow:hidden;} .txt{ height:400px; width:600px; border:#333 solid 1px; padding:5px;} p{ line-height:18px; text-indent:2em;} </style> </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> <form> <!--当点击相应按钮,执行相应操作,为按钮添加相应事件--> <input type="button" value="改变颜色" onclick="c()" > <input type="button" value="改变宽高" onclick="s()" > <input type="button" value="隐藏内容" onclick="h()"> <input type="button" value="显示内容" onclick="d()"> <input type="button" value="取消设置" onclick="r()"> </form> <script type="text/javascript"> var txt = document.getElementById("txt"); //定义"改变颜色"的函数 function c(){ txt.style.color="purple"; txt.style.backgroundColor="#ccc"; } //定义"改变宽高"的函数 function s(){ txt.style.width="20px"; txt.style.height="200px"; } //定义"隐藏内容"的函数 function h(){ txt.style.display="none"; } //定义"显示内容"的函数 function d(){ txt.style.display="block"; } //定义"取消设置"的函数 function r(){ var r = confirm("是否取消所有设置?"); if(r==true){ txt.removeAttribute('style'); }else{null} } </script> </body> </html>
JavaScript入门篇
739817 学习 · 9566 问题
相似问题