Maison > interface Web > tutoriel CSS > le corps du texte

CSS3 et jQuery implémentent des effets de survol qui suivent la direction de la souris

不言
Libérer: 2018-06-25 16:26:22
original
2084 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur la mise en œuvre de l'effet Hover qui suit la direction de la souris basée sur CSS3 et jQuery. Les amis qui en ont besoin peuvent s'y référer

Aujourd'hui, nous allons apprendre à créer un effet Hover. grâce aux fonctionnalités de CSS3 et jQuery. Percevez l'effet de survol de la direction de glissement de la souris. Lorsque la souris glisse vers l'intérieur, le calque de masque glissera dans la direction du dernier glissement de la souris. Lorsque la souris glissera vers l'extérieur, le calque de masque suivra la souris et glissera vers l'extérieur dans la direction du glissement de la souris. C'est un effet très intéressant.
Nous utilisons une liste non ordonnée pour organiser les vignettes et les calques de masque de description :

<ul id="da-thumbs" class="da-thumbs">
<li>
<a href="http://dribbble.com/shots/502538-Natalie-Justin-Cleaning">
<img src="images/7.jpg" />
<p><span>Natalie & Justin Cleaning by Justin Younger</span></p>
</a>
</li>
<li>
<!-- ... -->
</li>
<!-- ... -->
</ul>
Copier après la connexion

Ces éléments de liste flotteront vers la gauche et le positionnement relatif, car nous positionnons absolument le calque du masque de description :

.da-thumbs li {
float: left;
margin: 5px;
background: #fff;
padding: 8px;
position: relative;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.da-thumbs li a,
.da-thumbs li a img {
display: block;
position: relative;
}
.da-thumbs li a {
overflow: hidden;
}
.da-thumbs li a p {
position: absolute;
background: rgba(75,75,75,0.7);
width: 100%;
height: 100%;
}
Copier après la connexion

Ensuite, nous ferons ceci : En fonction de l'endroit où va la souris, nous "depuis " Le style est appliqué au calque de masque, qui définit la position initiale du calque de masque. Ensuite, nous allons utiliser des transitions et ajouter des styles pour l'état final. De cette façon, le calque de masque glissera. Lorsque nous quittons l'élément, nous appliquons à nouveau le style "de" au calque de masque (bien que maintenant il glisse) et supprimons le style d'état final précédent.

Eh bien, ce qui suit est le cœur de ce petit plug-in :

this.$el.on( &#39;mouseenter.hoverdir, mouseleave.hoverdir&#39;, function( event ) {
var $el = $( this ),
$hoverElem = $el.find( &#39;p&#39; ),
direction = self._getDir( $el, { x : event.pageX, y : event.pageY } ),
styleCSS = self._getStyle( direction );
if( event.type === &#39;mouseenter&#39; ) {
$hoverElem.hide().css( styleCSS.from );
clearTimeout( self.tmhover );
self.tmhover = setTimeout( function() {
$hoverElem.show( 0, function() {
var $el = $( this );
if( self.support ) {
$el.css( &#39;transition&#39;, self.transitionProp );
}
self._applyAnimation( $el, styleCSS.to, self.options.speed );
} );
}, self.options.hoverDelay );
}
else {
if( self.support ) {
$hoverElem.css( &#39;transition&#39;, self.transitionProp );
}
clearTimeout( self.tmhover );
self._applyAnimation( $hoverElem, styleCSS.from, self.options.speed );
}
} );
Copier après la connexion

Nous lions principalement le 'mouseenter 'aux éléments de la liste' et aux événements 'mouseleave', grâce à la fonction _getDir, nous obtenons la direction dans laquelle la souris glisse vers l'intérieur ou vers l'extérieur (imaginez que la zone de détection est un rectangle divisé en quatre triangles).

Vous verrez que dans la deuxième démo, nous avons ajouté un délai pour qu'il n'y ait pas beaucoup d'animation lorsque la souris se déplace d'un coin à l'autre.
J'espère que ce petit effet spécial vous plaira et qu'il vous sera utile !

Si le navigateur ne prend pas en charge les transitions CSS, l'animation jQuery sera utilisée.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment implémenter un commutateur à bouton coulissant avec jQuery

Comment JavaScript détermine-t-il si le navigateur prend en charge Attributs CSS3 ? Prise en charge

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal