如果没有视觉示例,很难用文字来解释我正在寻找什么,所以这里是基本思想:https : //codepen.io/jwiggiff/full/xxwvVbr
var cube = $('.cube');
var wrapper = $('.wrapper');
$(document).mousemove((e) => {
if(!cube.hasClass('locked')) {
var deltaX = e.pageX - (wrapper.offset().left+(wrapper.width()/2));
var deltaY = e.pageY - (wrapper.offset().top+(wrapper.height()/2));
var rotateY = deltaX/($(document).width()/2) * 90;
var rotateX = deltaY/(($(document).height()/2)) * -90;
cube.css("transform", " rotateY("+rotateY+"deg) rotateX("+rotateX+"deg)");
}
});
$('.top-label').click((e) => {
cube.toggleClass('locked locked-bottom');
$('.labels div:not(.top-label)').fadeToggle();
});
$('.bottom-label').click((e) => {
cube.toggleClass('locked locked-top');
$('.labels div:not(.bottom-label)').fadeToggle();
});
$('.left-label').click((e) => {
cube.toggleClass('locked locked-right');
$('.labels div:not(.left-label)').fadeToggle();
});
$('.right-label').click((e) => {
cube.toggleClass('locked locked-left');
$('.labels div:not(.right-label)').fadeToggle();
});Run Code Online (Sandbox Code Playgroud)
/* …Run Code Online (Sandbox Code Playgroud)