刺槐少女
2018-03-20 15:20:15
<!DOCTYPE html><html lang="en"><head> ? ?<meta charset="UTF-8"> ? ?<title>Title</title></head><style> ? ?body{color:#fff;font:12px/1.5 Tahoma;} ? ?#div1{width:150px;height:150px;margin:0 auto;padding:10px;background:black;border:10px solid #000;cursor:crosshair;} ? ?#div1.hover{color:red;background:#f0f0f0;border:10px solid red;} ? ?</style> ? ?<script> ? ?window.onload = function () ? ?{ ? ? var oDiv = document.getElementById("div1"); ? ? oDiv.onmouseover = function () ? ? { ? ? oDiv.className = "hover" ? ? }; ? ? oDiv.onmouseout = function () ? ? { ? ? oDiv.className = ""
? ? } ? ?}; ? ?</script> ? ?</head> ? ?<body> ? ?<div id="div1">鼠標(biāo)移入改變樣式,鼠標(biāo)移出恢復(fù)。</div> ? ?</body> ? ?</html> ? ?如上述代碼,為什么是oDiv.className = "hover" 可以控制的div的樣式,在div中并沒(méi)有定義過(guò)class,還是說(shuō)hover本身就是個(gè)class類?還請(qǐng)前輩解惑
4 回答


icecap
TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超2個(gè)贊
此hover非css里的偽類hover ,這個(gè)只是事先定義了一個(gè)類名叫hover的樣式,鼠標(biāo)進(jìn)入時(shí)加上類名,離開清空類名。你可能困惑在初始化時(shí)div上并沒(méi)有class,其實(shí)是js原生api,在調(diào)用className方法時(shí)沒(méi)有class會(huì)自動(dòng)加上class~

qq_殺意隆_0
TA貢獻(xiàn)93條經(jīng)驗(yàn) 獲得超29個(gè)贊
在html的確沒(méi)有定義過(guò)class?,?這個(gè)hover類是通過(guò)JavaScript事件給div加上去的。 當(dāng)鼠標(biāo)移入時(shí),動(dòng)態(tài)給div添加hover類。鼠標(biāo)移開時(shí),又把hover類從div去掉。
點(diǎn)擊展開后面1條
添加回答
舉報(bào)
0/150
提交
取消