Instead of doing the animation with JavaScript I'd recommend it to do it with CSS. You could simply achieve your desired effect with the following code.
The example is just to give you an idea of how it could look like. Of course from this point you can even fine tune your animation .
HTML
<div class="album">
<img class="cover" src="path" alt="" />
<img class="record" src="path" alt="" />
</div>
CSS
.album {
position: relative;
width: 200px;
height: 200px;
background: #eee;
cursor: pointer;
}
.cover {
position: relative;
top: 0;
left: 0;
width: 100%;
z-index: 100;
}
.record {
position: absolute;
top: 50%;
left: 0;
height: 100%;
transform: translateY(-50%) rotate(0deg);
transition: 0.3s;
}
.album:hover .record {
left: 50%;
transform: translateY(-50%) rotate(45deg);
}
.album {
position: relative;
width: 200px;
height: 200px;
background: #eee;
cursor: pointer;
}
.cover {
position: relative;
top: 0;
left: 0;
width: 100%;
z-index: 100;
}
.record {
position: absolute;
top: 50%;
left: 0;
height: 100%;
transform: translateY(-50%) rotate(0deg);
transition: 0.3s;
}
.album:hover .record {
left: 50%;
transform: translateY(-50%) rotate(45deg);
}
<div class="album">
<img class="cover" src="http://www.fuse.tv/image/56fe73a1e05e186b2000009b/768/512/the-boxer-rebellion-ocean-by-ocean-album-cover-full-size.jpg" alt="" />
<img class="record" src="http://www.clipartkid.com/images/853/vinyl-record-1-1024-768-descibel-radio-1TJlqv-clipart.png" alt="" />
</div>