Certains styles CSS doivent être appliqués à un élément en survol, et les styles CSS doivent être appliqués à l'aide de javascript/jquery directement et non via des feuilles de style ou $(this).addClass('someStyle')
car j'injecte les éléments DOM dans une autre page.
Nous pouvons appliquer les styles CSS habituels en utilisant
$('#some-content').css({
marginTop: '60px',
display: 'inline-block'
});
Comment devrions-nous ajouter les styles CSS pour :hover
événements?
Faut-il recourir à:
$('#some-content').hover(
function(){ $(this).css('display', 'block') },
function(){ $(this).css('display', 'none') }
)
Je trouve que l'utilisation de mouseenter et de mouseleave est meilleure que le vol stationnaire. Il y a plus de contrôle.
$("#somecontent").mouseenter(function() {
$(this).css("background", "#F00").css("border-radius", "3px");
}).mouseleave(function() {
$(this).css("background", "00F").css("border-radius", "0px");
});
Essaye ça:
$('#some-content').hover(function(){
$(this).css({ marginTop: '60px', display: 'inline-block' });
}, function(){
$(this).css({ //other stuff });
});
ou en utilisant des classes
$('#some-content').hover(function(){
$(this).toggleClass('newClass');
});
Plus d'informations ici . Hover () et . ToggleClass ()
Vous devez les mettre dans un événement hover :
var elem = $('#elem');
elem.hover(function () {
// ... :hover, set styles
}, function () {
// ... this function is called when the mouse leaves the item, set back the
// normal styles
});
Cependant, je recommande complètement de mettre votre CSS dans des classes et d'utiliser ces classes dans JS, vous devez diviser les langues autant que possible.
$("#someObj").hover(function(){
$(this).css(...);
}:);