整个页面或多个带有“.mousemove”的 div

发布于 2024-11-26 18:26:58 字数 792 浏览 2 评论 0原文

我有下面的 jQuery 片段

$(document).ready(function(){
        var vH=$('#background').height();
        var vW=$('#background').width();
        var vT=$('#background').offset().top;
        var vL=$('#background').offset().left;
        $('#test').mousemove(function(e){
            var ypos=e.pageY-vT;
            var xpos=e.pageX-vL;
            var y=Math.round(ypos/vW*1500);
            var x=Math.round(xpos/vH*200);
            $('#test').val(x+' , '+y);
            $('#background').css({backgroundPosition: x+'% '+y+'%'});
        });
    });

,当我将鼠标移到 id="test" 的 div 上时,它会移动背景。现在我想更改它,以便无论您将鼠标移到何处,背景都会移动。

那么有没有办法做到这一点呢?或者是否可以使用多个 div,这样您会得到类似这样的信息:

$('#test', '#test2').mousemove(function(e){

我真的很感谢您的帮助!

I have the following piece of jQuery

$(document).ready(function(){
        var vH=$('#background').height();
        var vW=$('#background').width();
        var vT=$('#background').offset().top;
        var vL=$('#background').offset().left;
        $('#test').mousemove(function(e){
            var ypos=e.pageY-vT;
            var xpos=e.pageX-vL;
            var y=Math.round(ypos/vW*1500);
            var x=Math.round(xpos/vH*200);
            $('#test').val(x+' , '+y);
            $('#background').css({backgroundPosition: x+'% '+y+'%'});
        });
    });

It moves the background when I move my mouse over the div with id="test". Now I want to change it so the background is moving no matter where you are moving the mouse over.

So is there a way to do this? Or is it possible to use multiple divs so you get something like:

$('#test', '#test2').mousemove(function(e){

I really appreciate your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十级心震 2024-12-03 18:26:58

试试这个

$(document).ready(function(){
        var vH=$('#background').height();
        var vW=$('#background').width();
        var vT=$('#background').offset().top;
        var vL=$('#background').offset().left;
        $(document).mousemove(function(e){
            var ypos=e.pageY-vT;
            var xpos=e.pageX-vL;
            var y=Math.round(ypos/vW*1500);
            var x=Math.round(xpos/vH*200);
            $('#test').val(x+' , '+y);
            $('#background').css({backgroundPosition: x+'% '+y+'%'});
        });
    });

Try this

$(document).ready(function(){
        var vH=$('#background').height();
        var vW=$('#background').width();
        var vT=$('#background').offset().top;
        var vL=$('#background').offset().left;
        $(document).mousemove(function(e){
            var ypos=e.pageY-vT;
            var xpos=e.pageX-vL;
            var y=Math.round(ypos/vW*1500);
            var x=Math.round(xpos/vH*200);
            $('#test').val(x+' , '+y);
            $('#background').css({backgroundPosition: x+'% '+y+'%'});
        });
    });
陌上青苔 2024-12-03 18:26:58

您可以将事件绑定到文档,如下所示:

$(document).mousemove(function(e){ ...

请注意,任何其他元素上的所有其他 mousemove 事件都会冒泡到文档,因此,如果文档中的某个元素上有另一个处理程序,并且将鼠标移到该元素上它将调用该元素上的处理程序以及文档上的处理程序(以及中间的任何元素,如果它们也有处理程序)。

您还应该意识到,跟踪文档上的鼠标移动可能会很慢,尤其是在较旧的浏览器上。如果您只需要跟踪它一段时间,则应该在完成后取消绑定事件处理程序。

You can bind an event to the document like this:

$(document).mousemove(function(e){ ...

Just be aware that all other mousemove events on any other element bubble up to the document, so if you have another handler on some element in the document, and you move the mouse over that element it will call both the handler on that element, and the one on the document (and any elements in between if they have handlers too).

You should also be aware that tracking mousemove on the document can potentially be slow, especially on older browsers. If you only need to track it for a while you should unbind the event handler when you're done with it.

甜尕妞 2024-12-03 18:26:58

我认为您正在寻找的效果是视差效果,但略有修改。所以类似这个,或者像这个

I think the effect you're looking for is the parallax effect but slightly modified. So something like this, or like this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文