整个页面或多个带有“.mousemove”的 div
我有下面的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个
Try this
您可以将事件绑定到文档,如下所示:
请注意,任何其他元素上的所有其他 mousemove 事件都会冒泡到文档,因此,如果文档中的某个元素上有另一个处理程序,并且将鼠标移到该元素上它将调用该元素上的处理程序以及文档上的处理程序(以及中间的任何元素,如果它们也有处理程序)。
您还应该意识到,跟踪文档上的鼠标移动可能会很慢,尤其是在较旧的浏览器上。如果您只需要跟踪它一段时间,则应该在完成后取消绑定事件处理程序。
You can bind an event to the document like this:
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.
我认为您正在寻找的效果是视差效果,但略有修改。所以类似这个,或者像这个。
I think the effect you're looking for is the parallax effect but slightly modified. So something like this, or like this.