關(guān)于取消代碼的疑惑
原來(lái)我設(shè)想了兩種取消的方法
第一種方案是通過(guò)提前定義變量,記錄元素之前的屬性,然后設(shè)定點(diǎn)擊reset按鈕后 把所有的屬性都給 重新設(shè)定成原來(lái)的樣子。
第二種方案可以 定義一個(gè)不同id 的css 樣式,通過(guò)改變 id ,實(shí)現(xiàn)加載css模塊內(nèi)的屬性 來(lái)達(dá)到恢復(fù)默認(rèn)值
第一種我沒有去實(shí)施,理論上肯定是沒有問(wèn)題的。只是比較繁瑣點(diǎn)而已
第二種我去重新定義了一個(gè) 叫做txt1的css 模塊(txt1定義的css和原來(lái)txt內(nèi)的css完全一致),通過(guò)document.getElementById("txt").id="txt1"; 來(lái)變更整體的id 實(shí)現(xiàn)css重新渲染。 奇怪的是我 確實(shí)改變
了元素的id 但是期待的樣式卻沒有恢復(fù)成原來(lái)的樣子。還是保持變更后的樣子。
這是為什么呢? 在什么條件下css會(huì)重新渲染那?
2015-03-27
問(wèn)題弄明白了 ?返回不到原來(lái)的樣式 是因?yàn)?css 內(nèi)聯(lián) 和嵌入的優(yōu)先級(jí)不一樣 , 我們之前通過(guò)changecolor()?設(shè)定過(guò)的顏色格式 變成了 內(nèi)嵌式的 ,如果改變了 元素的 id 讓它重新 加載別的樣式,因?yàn)閮?yōu)先級(jí)不如 內(nèi)嵌的高 所有 之前更改的顏色還是不會(huì)反映過(guò)來(lái) ?
2015-03-16
從你上米俺的代碼看,你的txt,txt1的樣式是一樣的啊~,你樣式一樣的,點(diǎn)擊肯定沒有效果了。
2015-03-16
<!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;}
#txt1{
? ? 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為網(wǎng)頁(yè)添加動(dòng)態(tài)效果并實(shí)現(xiàn)與用戶交互的功能。</h5>
? ? ? ? <p>1. JavaScript入門篇,讓不懂JS的你,快速了解JS。</p>
? ? ? ? <p>2. JavaScript進(jìn)階篇,讓你掌握J(rèn)S的基礎(chǔ)語(yǔ)法、函數(shù)、數(shù)組、事件、內(nèi)置對(duì)象、BOM瀏覽器、DOM操作。</p>
? ? ? ? <p>3. 學(xué)完以上兩門基礎(chǔ)課后,在深入學(xué)習(xí)JavaScript的變量作用域、事件、對(duì)象、運(yùn)動(dòng)、cookie、正則表達(dá)式、ajax等課程。</p>
? </div>
? <form>
? <!--當(dāng)點(diǎn)擊相應(yīng)按鈕,執(zhí)行相應(yīng)操作,為按鈕添加相應(yīng)事件-->
? ? <input type="button" value="改變顏色" onclick="changecolor()"> ?
? ? <input type="button" value="改變寬高" >
? ? <input type="button" value="隱藏內(nèi)容" >
? ? <input type="button" value="顯示內(nèi)容" >
? ? <input type="button" value="取消設(shè)置" onclick ="rest()">
? </form>
? <script type="text/javascript">
? var temp=document.getElementById("txt");
//定義"改變顏色"的函數(shù)
function changecolor(){
temp.style.color="red";
}
//定義"改變寬高"的函數(shù)
//定義"隱藏內(nèi)容"的函數(shù)
//定義"顯示內(nèi)容"的函數(shù)
//定義"取消設(shè)置"的函數(shù)
function rest(){
temp.id="txt1";
}
? </script>
</body>
</html>
2015-03-15
你有代碼嗎??
????我覺得可能是你的JS代碼的位置有問(wèn)題,你的思想是沒有問(wèn)題的,你用window.onload = function(){};將你的JS代碼包裹住試試。