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

Quelles fonctions jquery a-t-il ?

藏色散人
Libérer: 2020-11-26 11:35:52
original
3559 Les gens l'ont consulté

Les fonctions jquery incluent : 1. Fonction "delay(duration,[queueName])" ; 2. Fonction "jQuery live(type, fn)" ; 3. Fonction ".live()" ; Fonction « position() » ; 5. Fonction « stop() », etc.

Quelles fonctions jquery a-t-il ?

Recommandé : "tutoriel jquery"

  • Cette méthode convient à toutes les marques de ordinateurs.

Un résumé des fonctions et méthodes jquery courantes

1.delay(duration,[queueName])

Définissez un délai pour retarder l'exécution des éléments suivants dans la file d'attente.

Nouveau dans jQuery 1.4. Utilisé pour retarder l'exécution des fonctions dans la file d'attente. Il peut soit retarder l'exécution de la file d'attente d'animation, soit être utilisé dans une file d'attente personnalisée.

durée : temps de retard, unité : millisecondes

queueName : nom de la file d'attente, la valeur par défaut est Fx, file d'attente d'animation.

Exemple :

Effet d'animation de chargement paresseux de la tête et du bas

$(document).ready(function() {
  $('#header') .css({ 'top':-50 }) .delay(1000).animate({'top': 0}, 800);
  $('#footer') .css({ 'bottom':-15 }) .delay(1000).animate({'bottom': 0}, 800); 
});
Copier après la connexion

2.jQuery live(type, fn) implémentation de l'événement de délégation

Nouvelle méthode dans la requête 1.3. Liez un gestionnaire d'événements (tel qu'un événement de clic) à tous les éléments correspondants actuels et futurs. Les événements personnalisés peuvent également être liés.

Prend actuellement en charge les clics, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup.

ne prend pas encore en charge flou, focus, mouseenter, mouseleave, change, submit

Différent de bind(), live() ne peut lier qu'un seul événement à la fois.

Cette méthode est très similaire à la liaison traditionnelle. La différence est que l'utilisation de live pour lier des événements liera les événements à tous les éléments actuels et futurs de la page (en utilisant la délégation). Par exemple, si vous utilisez live pour lier les événements de clic à tous les li de la page. Ensuite, lorsqu'un li sera ajouté à cette page à l'avenir, l'événement click de ce li nouvellement ajouté est toujours disponible. Il n'est pas nécessaire de lier à nouveau les événements à cet élément nouvellement ajouté.

.live() est très similaire au plugin liveQuery populaire, mais présente les différences majeures suivantes :

.live ne prend actuellement en charge qu'un sous-ensemble de tous les événements, voir la liste ci-dessus.

.live ne prend pas en charge la fonction de rappel de style « sans événement » fournie par liveQuery. .live ne peut lier que des fonctions de gestion d'événements.

.live n'a pas de processus de « configuration » et de « nettoyage ». Parce que tous les événements sont délégués plutôt que directement liés aux éléments.

Pour supprimer les événements liés au live, utilisez la méthode die

Exemple d'utilisation :

<p class=”myp”></p>
Copier après la connexion

jquery:

$(“.myp”).live(“click”, function(){
alert(“clicked!”);
});
Copier après la connexion

Si vous utilisez javascript pour créer dynamiquement un élément avec la classe myp, cliquer sur l'élément apparaîtra toujours. Pourquoi cela se produit-il après avoir utilisé Live ? En effet, jquery utilise le mécanisme de diffusion d'événements pour lier directement l'événement au document, puis trouve la source de l'événement via event.target. Ceci est différent du plug-in jquery.livequery. jquery.livequery vérifie toutes les 20 millisecondes et relie l'événement s'il y en a un nouveau.

Bien sûr, il y a des avantages et des inconvénients à utiliser le live :

L'avantage est le suivant : vous n'avez pas besoin de définir des événements à plusieurs reprises lorsque les éléments sont mis à jour.

L'inconvénient est que la liaison de l'événement au document sera appelée une fois pour chaque élément de la page. Une utilisation inappropriée affectera sérieusement les performances.

Et il ne prend pas en charge le flou, la mise au point, la saisie de la souris, la sortie de la souris, la modification, la soumission.

2. Supprimez l'événement lié par live

Dans Jquery, utilisez live pour lier l'événement. Si vous souhaitez supprimer l'événement, utilisez la méthode die.

Par exemple :

$(“.myp”).die("click");
Copier après la connexion

Cela supprimera l'événement de clic lié.

3. JQuery offset(), position() pour obtenir les méthodes de coordonnées de position absolues et relatives

Pour obtenir les coordonnées absolues X, Y d'un élément sur la page , vous pouvez utiliser la méthode offset() : (marge de réglage de l'attribut body : 0 ; padding : 0 ;)

var X = $(&#39;#pID&#39;).offset().top; 
var Y = $(&#39;#pID&#39;).offset().left;
Copier après la connexion

Par exemple :

$(".produc a span").click(function(){
 $(&#39;body, html&#39;).animate({scrollTop:$(&#39;#buy&#39;).offset().top }, &#39;slow&#39;);
 });
Copier après la connexion

Obtenir la position relative (élément parent) :

var X = $(&#39;#pID&#39;).position().top; 
var Y = $(&#39;#pID&#39;).position().left; 
var left = $("selector").offset().left;//元素相当于窗口的左边的偏移量
var top = $("selector").offset().top;//元素相对于窗口的上边的偏移量
var pleft = $("selector").scrollLeft();//元素相对于滚动条左边的偏移量
var pTop = $("selector").scrollTop();//元素相对于滚动条顶部的偏移量
Copier après la connexion

4.jquery obtient la position de la souris

 $(function () {
      //e为事件名;
      $(document).mousemove(function (e) {
        $("p").text("X:" + e.pageX + "  Y:" + e.pageY);
      });

    });
Copier après la connexion

5.jquery détermine si un élément contient une certaine classe, si certains attributs existent et comment supprimer certains attributs .

Dans le codage JQuery, nous jugerons si un élément a un certain attribut. Par exemple, s'il contient le style de jugement class="new". $( "input[name=new]").hasClass("new") peut être utilisé pour déterminer

Il n'existe pas de méthode prête à l'emploi pour le moment s'il existe un certain attribut. $("#aid") .attr("rel") renverra la valeur de rel. Si l'attribut rel n'existe pas, il renverra "undéfini"
undéfini est le type non défini, if($("# aid").attr("rel")== "undefined") Ce jugement peut ne pas être vrai.
Parce que les types sont différents.

Il est recommandé d'utiliser if(typeof( $("#aid").attr("rel"))==" undefined") fera l'affaire.

jquery supprime un attribut d'un objet jquery : $(".main").removeAttr("style");

Utilisation de jquery stop() (méthode efficace pour effacer l'accumulation d'animation)

1、stop([stopAll], [gotoEnd])方法有两个参数(当然可以不传或直传一个),其中stopAll的意思是清除之后的所有动画。gotoEnd的意思是,执行完当前动画。

2、stopAll == true时,停止队列中的所有动画, stopAll ==false时,只停止队列中的当前动画,后续动画继续执行。

3、gotoEnd == true时,立即跳到当前动画的末尾, gotoEnd ==false时,停在当前状态。且gotoEnd只有在设置了stopAll的时候才起作用

4、在项目中,如果不进行动画队列清理,就会产生动画积累的问题。因此在写入动画时,最好先清除队列中的重复动画。

在项目中,例如做下拉二级导航效果,用到jquery的slideDown()与slideUp()方法,当鼠标快速晃动后,如果不进行动画队列清理,就会产生动画积累,出现问题。

例如:

$(".nav li.has_list").hover(function(){
  $(this).children("a").addClass("curr");
  $(".nav li.has_list").children("p").stop(false,true);
  $(this).children("p").slideDown(400).end();              
},function(){
  $(this).children("a").removeClass("curr");
  $(".nav li.has_list").children("p").stop(false,true);
  $(this).children("p").slideUp(400).end();
  }
);
Copier après la connexion

以上内容就是本文关于jquery常用函数与方法汇总,希望大家喜欢。

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