We can use the jQuery hover method to run a function when a user moves their mouse over a div and out of it. To do this we can add a function call to the hover() method.
$("#div1").hover(function() {
//The user has moved their mouse into #div1
}, function(){
//The user has moved their mouse out of #div1
});
Another way this can be done is to use the on() method:
$("#div1").on("hover", function() {
//The user has moved their mouse into #div1
}, function(){
//The user has moved their mouse out of #div1
});
The jQuery hover() method will make use of the jQuery mouseenter and mouseleave methods. We can attach the function call as seen above and do something different when the user enters the div and/or leaves it.
An example using the jQuery hover method
In this example, we will have 3 divs set up next to each other. All 3 divs will be empty. We will add some CSS to float the divs next to each other and center the text.
Here is the HTML setup:
Hover Method
Mouseenter Method
Mouseleave Method
When the user moves their mouse into each div, we will generate a random color and then change the background color of the div.
For the first div, we will use the hover method on it. For the second div, we will use the mouseenter method, and for the third div, we will use the mouseleave method to show how they all work.
Here is the JavaScript code:
function genRandomColor() {
var letters = '0123456789ABCDEF';
var randomColor = '#';
for (var i = 0; i < 6; i++) {
randomColor += letters[Math.floor(Math.random() * 16)];
}
return randomColor;
}
$("#div1").hover(function() {
$('#div1').css("background-color", genRandomColor());
}, function(){
$('#div1').css("background-color", genRandomColor());
});
$("#div2").mouseenter(function() {
$('#div2').css("background-color", genRandomColor());
});
$("#div3").mouseleave(function() {
$('#div3').css("background-color", genRandomColor());
});
The final code and output for this example of using the jQuery hover() method is below:
Code Output:
Hover Method
Mouseenter Method
Mouseleave Method
Full Code:
Hover Method
Mouseenter Method
Mouseleave Method
<script>
function genRandomColor() {
var letters = '0123456789ABCDEF';
var randomColor = '#';
for (var i = 0; i < 6; i++) {
randomColor += letters[Math.floor(Math.random() * 16)];
}
return randomColor;
}
$("#div1").hover(function() {
$('#div1').css("background-color", genRandomColor());
}, function(){
$('#div1').css("background-color", genRandomColor());
});
$("#div2").mouseenter(function() {
$('#div2').css("background-color", genRandomColor());
});
$("#div3").mouseleave(function() {
$('#div3').css("background-color", genRandomColor());
});
</script>
Hopefully this article has been useful to help you understand how to use the jQuery hover() method.