Mouse-aware Sliding Overlays with jQuery and CSS3
| File Size: | 1.8 KB |
|---|---|
| Views Total: | 4073 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
Creating mouse direction aware sliding overlays covering any Html elements using jQuery and CSS3. The overlay direction is determined by where the mouse enters the element.
See also:
- Direction-aware Hover Effect with jQuery SlipHover Plugin
- Image Direction-Aware Hover Effect with jQuery and CSS3
- Simple jQuery Direction Aware Hover Animation Plugin - Hover Direction
How to use it:
1. Create a DIV element on where you wish to apply a sliding overlay.
<div></div>
2. Set the width & height for the DIV element and make it position:relative.
div {
width: 300px;
height: 200px;
margin: 20px;
overflow: hidden;
position: relative;
}
3. Create sliding overlay using CSS3 transitions and transforms.
div:before {
content: '+';
color: white;
padding-top: calc(30% - 20px);
padding-left: calc(50% - 20px);
font-size: 4em;
position: absolute;
width: 300px;
height: 200px;
background: rgba(0, 0, 0, 0.5);
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
visibility: hidden;
-webkit-transition: all 0.5s cubic-bezier(0.68, -0.6, 0.33, 1.65);
transition: all 0.5s cubic-bezier(0.68, -0.6, 0.33, 1.65);
-webkit-transition-property: -webkit-transform, visibility;
transition-property: transform, visibility;
}
div.mouse-from-top:before {
-webkit-transform: translate3d(0, -100%, 0);
transform: translate3d(0, -100%, 0);
}
div.mouse-from-right:before {
-webkit-transform: translate3d(100%, 0, 0);
transform: translate3d(100%, 0, 0);
}
div.mouse-from-bottom:before {
-webkit-transform: translate3d(0, 100%, 0);
transform: translate3d(0, 100%, 0);
}
div.mouse-from-left:before {
-webkit-transform: translate3d(-100%, 0, 0);
transform: translate3d(-100%, 0, 0);
}
div:hover:before {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
visibility: visible;
}
4. Load the latest version of jQuery JavaScript library in the web page.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
5. The core JavaScript to enable the sliding overlays.
$(window).on('resize', function(){
for (i = 0; i < $('div').length; i++) {
var div = $('div');
var divW = $(div).width();
var divH = $(div).height();
}
$(document).on('mousemove', function(event){
var mouseX = event.pageX;
var mouseY = event.pageY;
for (i = 0; i < $('div').length; i++) {
if (mouseY > 0 && mouseY < $(div[i]).position().top) {
$(div[i]).removeClass();
$(div[i]).addClass('mouse-from-top');
}
if ((mouseY > $(div[i]).position().top && mouseY < $(div[i]).position().top + divH) && (mouseX < $('body').width() && mouseX > $(div[i]).position().left + divW)) {
$(div[i]).removeClass();
$(div[i]).addClass('mouse-from-right');
}
if (mouseY > $(div[i]).position().top + divH && mouseY < $('body').height()) {
$(div[i]).removeClass();
$(div[i]).addClass('mouse-from-bottom');
}
if ((mouseY > $(div[i]).position().top && mouseY < $(div[i]).position().top + divH) && (mouseX > 0 && mouseX < $(div[i]).position().left)) {
$(div[i]).removeClass();
$(div[i]).addClass('mouse-from-left');
}
}
});
}).resize();
This awesome jQuery plugin is developed by magicPenguin. For more Advanced Usages, please check the demo page or visit the official website.











