这是我的代码:
HTML
<div id="corner">
<div id="cornerbox"></div>
</div>
CSS
#corner {
background-color: red;
width: 200px; height: 200px;
}
#corner #cornerbox {
background-color:black;
width: 100px; height: 100px;
opacity: 0.4;
}
#corner:hover #cornerbox, #corner #cornerbox.show{
opacity: 1;
}
JavaScript
$(document).keypress(function(e) {
//console.log("keypress event from document: ",e.which);
if (e.which == 63) { // question mark (?) key
$("#cornerbox").toggleClass("show");
}
});
因此,每当#corner:hover 时,CSS 都会使“#cornerbox”更改不透明度,并且只要按下问号 (?) 键,JavaScript 就会切换“#cornerbox”的类“显示”。
我注意到,如果我将上面的 CSS 更改为如下所示:
#corner {
...
}
#corner #cornerbox {
...
}
#corner:hover #cornerbox, #cornerbox.show {
...
}
按下(?)键时不透明度不会改变,但“#cornerbox”接收类“show”。
所有其他可能性都有效。
这行得通。
#corner {
...
}
#cornerbox {
...
}
#corner:hover #cornerbox, #corner #cornerbox.show {
...
}
这有效。
#corner {
...
}
#cornerbox {
...
}
#corner:hover #cornerbox, #cornerbox.show {
...
}
为什么?
先感谢您!
田濑