之前經常遇見classname、csstext之類的詞,卻不知道如何用。通常在網頁中樣式表的調用方法有四種。
第一是外鏈,即<link rel="StyleSheet" href = "/control/css/base.css">的形式;
第二是輸入樣式表;第三是在網頁頭部申明,如<head> <style type="text/css">...;
最後是直接在對象後寫樣式,即<div style = "width:80%...;">的形式。我們用指令碼調用樣式,也要從這幾方面入手。
一、通常情況下,我們可以通過改變外鏈樣式的的href的值實現網頁樣式的即時切換,也就是“改變模板風格”。這時候我們首先需要賦予需要改變的目標一個id,如
<link rel = "stylesheet" type="text/css" id="css" href="firefox.css" />
調用時很簡單,如<span on click="javascript:document.getElementById('css').href = 'ie.css'">點我改變樣式</span>
二、局部改變樣式,分為改變直接樣式,改變className和改變cssText三種。需要注意的是:第一,javascript對大小寫十分敏感,className不能夠把“N”寫成“n”,cssText也不能夠把“T”寫成“t”,否則無法實現效果。第二,如果改變className,則事先在樣式表中申明類,但調用時不要再跟style,像
document.getElementById('obj').style.className="..."的寫法是錯誤的!
只能寫成:document.getElementById('obj').className="..."
但是如果用cssText的話,必須加上style,正確的寫法是:
document.getElementById('obj').style.cssText="..."
改變直接樣式我就不必說了,大家記得要寫到具體樣式即可,如
document.getElementById('obj').style.backgroundColor="#003366"
對於新人往往不知道CSS具體樣式在javascript怎麼寫,而且有時候在不同瀏覽器中要求也不一樣。如float在IE中寫成styleFloat,在FIREFOX中寫成cssFloat,這就需要大家的積累了
本文來自: 指令碼之家(www.jb51.net) 詳細出處參考:http://www.jb51.net/article/5161.htm