【发布时间】:2019-06-25 14:47:52
【问题描述】:
我正在尝试创建一个简单的演示,其中滚动伪元素将改变其父元素的样式。也就是说,我希望能够将图片右上角的字母e滚动,然后显示文字内容。
当滚动图像本身时,我设法让它工作,但不是伪元素。我已经注释掉了滚动图像本身的工作代码,并且没有注释掉不正确的伪滚动代码。
我想知道你是否真的可以在 JS 中选择伪元素,因为它在尝试选择任何伪元素时显示为 null。
任何想法将不胜感激。谢谢你的帮助。代码如下:
Codepen:https://codepen.io/anon/pen/NZvdzr
/*document.querySelector('#img-wrap').onmouseover = function() {
document.querySelector('#caption-wrap').style.opacity = 1;
}
document.querySelector('#img-wrap').onmouseout = function() {
document.querySelector('#caption-wrap').style.opacity = 0;
}*/
document.querySelector('#img-wrap:after').onmouseover = function() {
document.querySelector('#caption-wrap').style.opacity = 1;
}
document.querySelector('#img-wrap:after').onmouseout = function() {
document.querySelector('#caption-wrap').style.opacity = 0;
}
#img-wrap {
width: 30%;
position: relative;
}
#caption-wrap {
position: absolute;
top: 0;
right: 0;
opacity: 0;
}
img {
width: 100%;
}
#img-wrap:after {
content: 'e';
position: absolute;
top: 0;
right: 0;
}
<div id='img-wrap'>
<img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ-bCnPPMYp6QIfrCr2BR-imm_Sw9IHCXIXzE5fei7R8PTBKYGd'>
<div id='caption-wrap'>
<p>some text will appear</p>
</div>
</div>
【问题讨论】:
-
根据stackoverflow.com/questions/9395858/… 你不能监听伪元素
标签: javascript