三水朝山
2016-05-19 15:35
<!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;}
.n{
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" onClick="b()"value="改变颜色" >
<input type="button" onClick="c()"value="改变宽高" >
<input type="button" onClick="d()"value="隐藏内容" >
<input type="button" onClick="e()"value="显示内容" >
<input type="button"onClick="f()" value="取消设置" >
</form>
<script type="text/javascript">
var a=document.getElementById("txt");
//定义"改变颜色"的函数
function b(){
a.style.color="red";
a.style.backgroundColor="#ccc";
}
//定义"改变宽高"的函数
function c(){
a.style.width="20px";
a.style.height="30px";
}
//定义"隐藏内容"的函数
function d(){
a.style.display="none";
}
//定义"显示内容"的函数
function e(){
a.style.display="block";
}
//定义"取消设置"的函数
function f(){
var a=confirm("是否取消设置")
if(a==true){
var p1 = document.getElementById("txt");
p1.className="n"}}
</script>
</body>
</html>
这些样式在点击过相应的按钮后,会逐一添加到属性style中,到最后style的属性有颜色,宽高,显示样式,结果就是 <div id="txt" style="color: red; background-color: rgb(204, 204, 204); width: 20px; height: 30px; display: block;" >
你最后的按钮会在 <div id="txt">中添加一个class属性,结果就是 <div id="txt" style="color: red; background-color: rgb(204, 204, 204); width: 20px; height: 30px; display: block;" class="n">
现在就涉及到选择器的优先级问题了,行内样式>id>class,现在明白了吗,你可以用firebug调试一下,看看你想象的样式和实际的样式差在哪里,导致差异的原由慢慢你就会找到的。
.n{ height:400px; width:600px; border:#333 solid 1px; padding:5px; }/*没有重置到原来的原因应该时文字还是红色、有背景色,主要是因为这里的style设置没有复制全部的。 你可以在这个后面加上"color:blue";看下效果就知道乐- -。*/
方法的思路是可以用的,稍等我给你贴个代码,主要原因是因为你样式改变的对象不对
//定义"取消设置"的函数 function cancelChange(){ var message = confirm("是否取消设置?"); if(message == true) document.getElementById("txt").style = "#txt"; }
把style重新改回css里写好的#txt就行了
已经用Object.style.xxx="yyy";的语句将属性值改了,获取的是改变后的值。没意义么!
JavaScript入门篇
739817 学习 · 9566 问题
相似问题