Chapter 5: Brick Wall
HTML
<script src='https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.2/TweenMax.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.2/utils/Draggable.min.js'></script>
CSS
#container {
position: relative;
height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
JavaScript
var paper = Raphael(0, 0, 500, 500);
var sq = paper.rect(100,100,100,100).attr("fill","black");
var anim = Raphael.animation({
transform:"t200,100"
},1000);
sq.mouseover( parallaxIt(e, sq, -300));
//sq.animate(anim);
//})
function parallaxIt(e, target, movement) {
var $this = $("#container");
var relX = e.pageX - $this.offset().left;
var relY = e.pageY - $this.offset().top;
TweenMax.to(target, 1, {
x: (relX - $this.width() / 2) / $this.width() * movement,
y: (relY - $this.height() / 2) / $this.height() * movement
});
}
/*$("#container").mousemove(function(e) {
parallaxIt(e, ".slide", -300);
// parallaxIt(e, "img", -30);
});
function parallaxIt(e, target, movement) {
var $this = $("#container");
var relX = e.pageX - $this.offset().left;
var relY = e.pageY - $this.offset().top;
TweenMax.to(target, 1, {
x: (relX - $this.width() / 2) / $this.width() * movement,
y: (relY - $this.height() / 2) / $this.height() * movement
});
}
*/