I'm trying to create a page that has this effect:
.
I had it right, until I tried to implement a background to it. I'm used to photoshop (with layers and masks), but unfortunately html does not have masks.
Here is what I have.
jQuery:
$(document).ready(function() {
// calculate screen size
var pageHeight = $(window).height();
var pageWidth = $(window).width();
$(window).on('mousemove', function(event) {
// horizontal offset
// 100% = completely dependable on mouse position
var differenceFactor = 5;
var mouse_x = event.pageX + 1
var mouse_xPercentage = 100 / (pageWidth / mouse_x);
var transformX = (mouse_x * -1) / (100 / differenceFactor) - (pageWidth);
var actualTransform = transformX;
// vertical offset
// base degrees
var baseDeg = -23;
// 100% = completely rotating
var rotateFactor = 10;
var mouse_y = event.pageY + 1;
var mouse_yPercentage = 100 / (pageHeight / mouse_y);
var deg = baseDeg + (((180 * (mouse_yPercentage / 100)) - 90) * (rotateFactor / 100));
$('.article-bg').css({
'-webkit-transform': 'translate(' + transformX + 'px, 0) scale(2) rotate(' + deg + 'deg)',
'transform': 'translate(' + transformX + 'px, 0) scale(2) rotate(' + deg + 'deg)'
});
$('.actual-bg').css({
'-webkit-transform': 'translate(' + 0 + 'px, 0) rotate(' + (-deg) + 'deg)',
'transform': 'translate(' + 0 + 'px, 0) rotate(' + (-deg) + 'deg)'
});
})
.on('resize', function() {
var pageHeight = $(this).height();
var pageWidth = $(this).width();
});
});
I hope someone can complete this challenge!