【发布时间】:2015-11-27 04:06:45
【问题描述】:
当鼠标碰到英雄面板区域时,我希望飞机和火箭只从原来的位置移动大约 5%。
此当前代码使图像跟随并偏移鼠标位置。
请帮忙。
$(document).ready(function () {
$('#hero-panel').mousemove(function (e) {
parallax(e, document.getElementById('plane'), 1);
parallax(e, document.getElementById('rocket'), 2);
});
});
function parallax(e, target, layer) {
var layer_coeff = 10 / layer;
var x = ($(window).width() - target.offsetWidth) / 4 - (e.pageX - ($(window).width() / 4)) / layer_coeff;
var y = ($(window).height() - target.offsetHeight) / 4 - (e.pageY - ($(window).height() / 4)) / layer_coeff;
$(target).offset({ top: y ,left : x });
};
https://jsfiddle.net/jc0807/c5yke2on/
谢谢
【问题讨论】:
-
什么飞机?什么火箭?什么英雄面板区域? 5% 什么?这个问题是个灾难,请改写。
-
@PeteB 非常抱歉我提供了错误的小提琴链接。感谢您的检查
-
啊,新的小提琴更有意义 :) 仍然不清楚 5% 的基础是什么……也许是面板的整个高度?
-
您是说希望它们只移动一次而不是在鼠标悬停在面板上时不断移动?
-
@PeteB 我基本上希望它们在鼠标位于整个英雄图像容器中时从其起始位置稍微悬停/移动。类似于视差鼠标跟随效果。
标签: javascript jquery css offset mousemove