如何解决如何保持背景颜色/悬停区域的不透明度,同时使html页面的其余部分变暗?
我正在尝试编写代码,以使用户能够将鼠标光标悬停在给定的html页面上(我在问题中使用的是Lorem Ipsum文本)。当将鼠标悬停在某个高度的页面宽div时,其原始背景颜色/不透明度保持不变,而其余html则变暗。 我只成功做相反的事情,使悬停区域变暗,而html的其余部分仍保留其原始背景颜色/不透明度。
感谢帮助。
$("html").bind("mousemove",function (e) {
$("#follower").css({
left: 0,top: e.pageY - 100,});
$("#follower").css("background","rgba(0,0.8)");
});
* {
margin: 0;
}
#follower {
position: absolute;
display: block;
height: 100px;
width: 100vw;
/* z-index: 999; */
}
.lorem {
background-color: lightcoral;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="follower"></div>
<div class="lorem">
Lorem ipsum dolor sit amet,consectetur adipiscing elit. Proin elementum
enim id erat dapibus molestie. Ut enim urna,dictum nec erat sed,tincidunt lacinia enim. Suspendisse felis tellus,tincidunt id fringilla
non,hendrerit sit amet velit. Interdum et malesuada fames ac ante ipsum
primis in faucibus. Morbi ante ante,vehicula in nisl eget,pretium varius
ligula. Curabitur et nulla malesuada,convallis nibh vel,viverra dolor.
Curabitur quis libero posuere,ultrices nisl id,finibus massa. Sed
fermentum sapien et dui eleifend interdum. Maecenas vehicula nunc sed diam
vulputate ornare. Praesent urna eros,congue vitae porttitor nec,tempor
et eros. Quisque eget condimentum justo. Sed maximus sem sapien,ac
aliquet tortor semper non. Nulla in velit facilisis,sollicitudin mauris
vitae,ultricies diam. Phasellus varius viverra pellentesque. Suspendisse
volutpat mollis nisi,et dapibus dui tristique ac. In vitae blandit est,eget pretium lorem. Suspendisse est augue,porta vel scelerisque in,sollicitudin fermentum lorem. Quisque vestibulum eros eu arcu finibus,ut
congue metus cursus. Morbi lacinia et ligula non eleifend. Vivamus sed
sagittis lectus. Duis id pellentesque tellus,in malesuada tellus. Duis
vulputate justo ac auctor eleifend. Ut egestas urna id felis suscipit
consequat. Vivamus iaculis vel justo ac finibus. Sed rhoncus nec magna
eget aliquam. Donec quam lorem,eleifend ac dui non,volutpat pretium
quam. Curabitur venenatis vel nulla ac molestie. In sed ultrices nibh,a
pretium leo. Proin hendrerit ultrices ullamcorper. Quisque iaculis felis
ac dolor mollis,non auctor justo pellentesque. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Cras vel arcu bibendum,mattis massa ac,viverra lorem. Duis malesuada
nisl ligula,ac rhoncus justo vehicula et. Proin suscipit lacus ac risus
dignissim porta. Maecenas luctus,lacus non dignissim aliquam,odio augue
euismod enim,et tristique lectus ante et eros. Fusce eleifend tortor
nisl,ac lobortis mauris dapibus et. Vivamus elementum pulvinar turpis,vel auctor enim commodo nec. Donec suscipit efficitur sapien at gravida.
Fusce pulvinar venenatis metus at aliquet. Mauris blandit rutrum erat ut
rutrum. Proin rutrum suscipit dui,vitae ornare diam ultrices non. Vivamus
feugiat ut dui sollicitudin iaculis. Nunc nec viverra mauris. Ut in mauris
sem. Pellentesque eu hendrerit lorem. Sed nec ex ac sapien pellentesque
iaculis ut eget sem. Suspendisse potenti. Quisque aliquet aliquam dui
vitae dapibus. Donec vel consectetur nibh. Mauris vel semper nunc,ac
sodales ligula. Curabitur iaculis felis a lorem pharetra,sed accumsan
neque tempus. Vivamus a purus nunc. Orci varius natoque penatibus et
magnis dis parturient montes,nascetur ridiculus mus. Nunc eget eleifend
lorem,nec efficitur metus. Morbi gravida ante vel turpis aliquam
pellentesque. Duis dignissim rhoncus nisi. Aliquam finibus iaculis tortor,nec ullamcorper nulla rhoncus varius. Etiam lobortis felis in arcu sodales
iaculis. Suspendisse potenti. Aenean feugiat ipsum ut egestas pulvinar.
Lorem ipsum dolor sit amet,finibus massa.
</div>
解决方法
创建两个div而不是创建一个重叠的div,而不是创建两个div,这些div会使用户不悬停的背景变得不透明。
$("html").bind("mousemove",function (e) {
$("#upper").css({
left: 0,height: e.pageY - 100,});
$("#lower").css({
left: 0,height: "unset",top: e.pageY,});
});
* {
margin: 0;
}
.overlay {
position: absolute;
background-color: rgba(0,0.8);
width: 100vw;
bottom: 0px;
left: 0px;
}
#upper {
top: 0px;
}
#lower {
height: 0vh;
}
.lorem {
background-color: lightcoral;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="upper" class="overlay"></div>
<div id="lower" class="overlay"></div>
<div class="lorem">
Lorem ipsum dolor sit amet,consectetur adipiscing elit. Proin elementum
enim id erat dapibus molestie. Ut enim urna,dictum nec erat sed,tincidunt lacinia enim. Suspendisse felis tellus,tincidunt id fringilla
non,hendrerit sit amet velit. Interdum et malesuada fames ac ante ipsum
primis in faucibus. Morbi ante ante,vehicula in nisl eget,pretium varius
ligula. Curabitur et nulla malesuada,convallis nibh vel,viverra dolor.
Curabitur quis libero posuere,ultrices nisl id,finibus massa. Sed
fermentum sapien et dui eleifend interdum. Maecenas vehicula nunc sed diam
vulputate ornare. Praesent urna eros,congue vitae porttitor nec,tempor
et eros. Quisque eget condimentum justo. Sed maximus sem sapien,ac
aliquet tortor semper non. Nulla in velit facilisis,sollicitudin mauris
vitae,ultricies diam. Phasellus varius viverra pellentesque. Suspendisse
volutpat mollis nisi,et dapibus dui tristique ac. In vitae blandit est,eget pretium lorem. Suspendisse est augue,porta vel scelerisque in,sollicitudin fermentum lorem. Quisque vestibulum eros eu arcu finibus,ut
congue metus cursus. Morbi lacinia et ligula non eleifend. Vivamus sed
sagittis lectus. Duis id pellentesque tellus,in malesuada tellus. Duis
vulputate justo ac auctor eleifend. Ut egestas urna id felis suscipit
consequat. Vivamus iaculis vel justo ac finibus. Sed rhoncus nec magna
eget aliquam. Donec quam lorem,eleifend ac dui non,volutpat pretium
quam. Curabitur venenatis vel nulla ac molestie. In sed ultrices nibh,a
pretium leo. Proin hendrerit ultrices ullamcorper. Quisque iaculis felis
ac dolor mollis,non auctor justo pellentesque. Pellentesque habitant
morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Cras vel arcu bibendum,mattis massa ac,viverra lorem. Duis malesuada
nisl ligula,ac rhoncus justo vehicula et. Proin suscipit lacus ac risus
dignissim porta. Maecenas luctus,lacus non dignissim aliquam,odio augue
euismod enim,et tristique lectus ante et eros. Fusce eleifend tortor
nisl,ac lobortis mauris dapibus et. Vivamus elementum pulvinar turpis,vel auctor enim commodo nec. Donec suscipit efficitur sapien at gravida.
Fusce pulvinar venenatis metus at aliquet. Mauris blandit rutrum erat ut
rutrum. Proin rutrum suscipit dui,vitae ornare diam ultrices non. Vivamus
feugiat ut dui sollicitudin iaculis. Nunc nec viverra mauris. Ut in mauris
sem. Pellentesque eu hendrerit lorem. Sed nec ex ac sapien pellentesque
iaculis ut eget sem. Suspendisse potenti. Quisque aliquet aliquam dui
vitae dapibus. Donec vel consectetur nibh. Mauris vel semper nunc,ac
sodales ligula. Curabitur iaculis felis a lorem pharetra,sed accumsan
neque tempus. Vivamus a purus nunc. Orci varius natoque penatibus et
magnis dis parturient montes,nascetur ridiculus mus. Nunc eget eleifend
lorem,nec efficitur metus. Morbi gravida ante vel turpis aliquam
pellentesque. Duis dignissim rhoncus nisi. Aliquam finibus iaculis tortor,nec ullamcorper nulla rhoncus varius. Etiam lobortis felis in arcu sodales
iaculis. Suspendisse potenti. Aenean feugiat ipsum ut egestas pulvinar.
Lorem ipsum dolor sit amet,finibus massa.
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。