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

Résumé de quelques techniques couramment utilisées dans jQuery_jquery

WBOY
Libérer: 2016-05-16 15:08:02
original
1085 Les gens l'ont consulté

Présentation

L'existence de jQuery permet aux personnes qui apprennent le développement front-end de se lancer de plus en plus facilement dans le front-end. Ils peuvent répondre à leurs besoins avec seulement quelques lignes de code. Cependant, savez-vous vraiment comment le faire. utilisez jQuery ? Vous ne pouvez pas voir le code après son exécution. Pensez-vous qu'il y a quelque chose qui ne va pas avec jQuery en fonction de l'effet attendu ? En fait, le problème réside dans votre capacité à l'utiliser. Voici quelques exemples d'applications souvent rencontrés en développement, et découvrez un monde différent de jQuery.

Bouton Retour en haut

En utilisant les méthodes animate et scrollTop dans jQuery, vous n'avez pas besoin d'utiliser de plug-ins pour créer de simples animations de défilement vers le haut.

$('.top').click(function (e) {
 e.preventDefault();
 $('html, body').animate({scrollTop: 0}, 800);
});
Copier après la connexion

Modifiez la position vers laquelle vous souhaitez faire défiler en utilisant la valeur de scrollTop. En gros, c'est ce que vous faites : laissez la page défiler pendant les 800 millisecondes suivantes jusqu'à ce qu'elle défile vers le haut du document.

Préchargement des images

Si votre page Web utilise beaucoup de fichiers images cachés (par exemple : images affichées au survol de la souris), alors le préchargement des images est logique :

$.preloadImages = function () {
 for (var i = 0; i < arguments.length; i++) {
 $('<img>').attr('src', arguments[i]);
 }
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');<br />
Copier après la connexion

Déterminer si l'image est chargée

Parfois, vous devrez peut-être vérifier si l'image a été chargée afin de pouvoir continuer à exécuter le code js correspondant :

$('img').load(function () {
 console.log('image load successful');
});
Copier après la connexion

Scénarios d'utilisation que j'ai rencontrés : Certains éléments doivent être dimensionnés en fonction de la taille réelle de l'image et placés dans une disposition absolue. Le paramètre de taille de l'élément peut être calculé une fois l'image chargée.

Réparer automatiquement les images endommagées

Si vous trouvez des liens d'images brisés sur votre site Web, il peut être difficile de les remplacer un par un. Ce code simple peut éviter bien des ennuis :

$('img').on('error', function () {
 if(!$(this).hasClass('broken-image')) {
 $(this).prop('src', 'img/broken.png').addClass('broken-image');
 }
});
Copier après la connexion

Même si vous n’avez aucun lien rompu, l’ajout de ce code n’aura aucun impact.

Désactiver la saisie

Parfois, vous devrez peut-être utiliser le bouton d'envoi d'un formulaire ou un champ de saisie jusqu'à ce que l'utilisateur effectue une action (comme cocher la case « J'ai lu les conditions »). Définissez l'attribut désactivé dans votre zone de saisie, puis activez-le lorsque vous en avez besoin :

$('input[type="submit"]').prop('disabled', true);
Copier après la connexion

Tout ce que vous avez à faire est d'exécuter à nouveau la méthode prop sur la zone de saisie, mais de définir la valeur désactivée sur false :

$('input[type="submit"]').prop('disabled', false);
Copier après la connexion

Pour les développeurs jQuery qui ne comprennent pas la fonction prop, la fonction la plus couramment utilisée est la fonction attr. Ils peuvent développer de nombreux programmes sans rencontrer de problèmes. Cependant, lors du développement de cases à cocher, de radio et de sélection, vous trouverez cet attr. est utilisé. Je n'arrive pas à faire prendre effet aux attributs. Je pense que c'est un bug de jQuery. Voici quelques suggestions pour utiliser attr et prop :

Quand il s'agit d'obtenir ou de définir des attributs tels que vérifié, sélectionné, en lecture seule et désactivé, il est évidemment préférable d'utiliser la méthode prop

Faire en sorte que les deux DIV aient la même hauteur

Parfois, vous souhaitez que deux DIV aient la même hauteur, quel que soit le contenu qu'elles contiennent :

$('.div').css('min-height', $('.main-div').height());
Copier après la connexion

Cet exemple définit la hauteur minimale du DIV, ce qui signifie que sa hauteur ne peut être que supérieure à la hauteur définie mais pas inférieure. Cependant, une approche plus flexible consiste à parcourir un ensemble d'éléments et à définir la hauteur de l'élément le plus haut :

var $columns = $('.column');
var height = 0;
$columns.each(function () {
 if ($(this).height() > height) {
 height = $(this).height();
 }
});
$columns.height(height);
Copier après la connexion

Si vous souhaitez que toutes les colonnes aient la même hauteur :

var $rows = $('.same-height-columns');
$rows.each(function () {
 $(this).find('.column').height($(this).height());
});
Copier après la connexion

Obtenir des éléments basés sur du texte

Vous pouvez trouver le contenu du texte dans un élément via le sélecteur contain() dans jQuery. Si le texte n'existe pas, cet élément sera masqué :

var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide();
Copier après la connexion

Déclencheur de changements visibles

Déclencher javascript lorsque l'utilisateur défocalise ou recentre un onglet :

$(document).on('visibilitychange', function (e) {
 if (e.target.visibilityState === "visible") {
 console.log('Tab is now in view!');
 } else if (e.target.visibilityState === "hidden") {
 console.log('Tab is now hidden!');
 }
});
Copier après la connexion

É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