gpt4 book ai didi

jquery - 使用 Jquery 基于页面上光标位置的屏幕掩码

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:18 25 4
gpt4 key购买 nike

我正在尝试向屏幕添加一个叠加层,然后根据光标在文档窗口中的位置,将出现一个透明区域,您可以在其中看到下面的网站,但其他所有内容都被屏蔽掉。

我意识到我必须用 2 个 div 来做到这一点。 1 个 div 用于屏幕的上半部分,然后是 bottom div 用于屏幕的下半部分。

masked screen layout

如您在图片中所见,蓝色区域是顶部和底部的 div,它们遮住了网站,在中间留有空隙以查看下面的网站。

我试图让 2 个 div 根据屏幕上的光标位置改变它们的高度,这样我就可以在屏幕上上下移动查看 Pane 。

我试图绑定(bind)到 pageY 事件并像这样更改顶部 div 的高度:

$( document ).mousemove(function( event ) { 
var h = event.pageY;
$('#topDiv').css({"height":h});


});

这种实现了预期的效果,但它只会在光标接触到顶部 div 时改变高度。

我也尝试将相同的功能添加到底部的 div,但它会产生奇怪的镜像效果,就像它们在对立面工作一样。

我需要得到它,以便在屏幕上下移动时,顶部 div 和底部 div 始终与光标保持 40 像素左右的距离。

我不知道如何抵消所需的空间并使两个 div 协调工作而不是相反。

http://jsfiddle.net/j2cwqsxk/4/

最佳答案

你几乎自己解决了这个问题,只是底部的div没有按要求响应。

当光标向下移动时,底部的 div 必须变小,当光标位于顶部时,它必须是窗口的整个高度。为此,我们需要知道窗口的高度。我使用了一些 Javascript 代码似乎可以很好地做到这一点,然后我将底部 div 的高度计算为 pageHeight-h-40:

var body = document.body,
html = document.documentElement;

var pageHeight = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight );


$( document ).mousemove(function( event ) {
var h = event.pageY;
$('#rwMaskTop').css({"height":h-40});
$('#rwMaskBottom').css({"height":pageHeight-h-40});
});

参见:http://jsfiddle.net/j2cwqsxk/7

关于jquery - 使用 Jquery 基于页面上光标位置的屏幕掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51528257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com