Maison > interface Web > js tutoriel > 35 extraits de code jQuery que les programmeurs doivent connaître

35 extraits de code jQuery que les programmeurs doivent connaître

PHPz
Libérer: 2018-09-29 09:16:33
original
1219 Les gens l'ont consulté

jQuery est désormais devenue la bibliothèque JavaScript la plus populaire dans le développement Web. Grâce à jQuery et à un grand nombre de plug-ins, vous pouvez facilement obtenir divers effets magnifiques. Cet article vous présentera quelques compétences pratiques en jQuery, dans l’espoir de vous aider à utiliser jQuery plus efficacement.

35 astuces/extraits de code jQuery collectés pour vous aider à développer rapidement.

1. Désactiver le clic droit

$(document).ready(function(){
  $(document).bind("contextmenu",function(e){
    return false;
  });
});
Copier après la connexion

2. Masquer le texte de la zone de texte de recherche

Hide when clicked in the search field, the value.(example can be found below in the comment fields)
$(document).ready(function() {
$("input.text1").val("Enter your search text here");
  textFill($('input.text1'));
});
  function textFill(input){ //input focus text function
   var originalvalue = input.val();
   input.focus( function(){
     if( $.trim(input.val()) == originalvalue ){ input.val(''); }
   });
   input.blur( function(){
     if( $.trim(input.val()) == '' ){ input.val(originalvalue); }
   });
}
Copier après la connexion

3. Ouvrez le lien dans une nouvelle fenêtre

XHTML 1.0 Strict doesn't allow this attribute in the code, so use this to keep the code valid.
$(document).ready(function() {
  //Example 1: Every link will open in a new window
  $('a[href^="http://"]').attr("target", "_blank");
  //Example 2: Links with the rel="external" attribute will only open in a new window
  $('a[@rel$='external']').click(function(){
   this.target = "_blank";
  });
});
// how to useopen link
Copier après la connexion

4. Détecter le navigateur

Remarque : Dans la version jQuery 1.4, $.support a remplacé la variable $.browser

$(document).ready(function() {
// Target Firefox 2 and above
if ($.browser.mozilla && $.browser.version >= "1.8" ){
  // do something
}
// Target Safari
if( $.browser.safari ){
  // do something
}
// Target Chrome
if( $.browser.chrome){
  // do something
}
// Target Camino
if( $.browser.camino){
  // do something
}
// Target Opera
if( $.browser.opera){
  // do something
}
// Target IE6 and below
if ($.browser.msie && $.browser.version  6){
  // do something
}
});
Copier après la connexion

5. Précharger les images

This piece of code will prevent the loading of all images, which can be useful if you have a site with lots of images.
$(document).ready(function() {
jQuery.preloadImages = function()
{
 for(var i = 0; i<ARGUMENTS.LENGTH; jQuery(?").attr("src", arguments[i]);
 }
}
// how to use
$.preloadImages("image1.jpg");
});
Copier après la connexion

6. Changement de style de page

$(document).ready(function() {
  $("a.Styleswitcher").click(function() {
    //swicth the LINK REL attribute with the value in A REL attribute
    $(&#39;link[rel=stylesheet]&#39;).attr(&#39;href&#39; , $(this).attr(&#39;rel&#39;));
  });
// how to use
// place this in your header// the linksDefault ThemeRed ThemeBlue Theme});
Copier après la connexion

7. Les hauteurs des colonnes sont les mêmes

Si deux colonnes CSS sont utilisées, cette méthode peut être utilisée pour que les hauteurs des deux colonnes soient les mêmes. même .

$(document).ready(function() {
function equalHeight(group) {
  tallest = 0;
  group.each(function() {
    thisHeight = $(this).height();
    if(thisHeight > tallest) {
      tallest = thisHeight;
    }
  });
  group.height(tallest);
}
// how to use
$(document).ready(function() {
  equalHeight($(".left"));
  equalHeight($(".right"));
});
});
Copier après la connexion

8. Contrôler dynamiquement la taille de la police de la page

Les utilisateurs peuvent modifier la taille de la police de la page

$(document).ready(function() {
 // Reset the font size(back to default)
 var originalFontSize = $(&#39;html&#39;).css(&#39;font-size&#39;);
  $(".resetFont").click(function(){
  $(&#39;html&#39;).css(&#39;font-size&#39;, originalFontSize);
 });
 // Increase the font size(bigger font0
 $(".increaseFont").click(function(){
  var currentFontSize = $(&#39;html&#39;).css(&#39;font-size&#39;);
  var currentFontSizeNum = parseFloat(currentFontSize, 10);
  var newFontSize = currentFontSizeNum*1.2;
  $(&#39;html&#39;).css(&#39;font-size&#39;, newFontSize);
  return false;
 });
 // Decrease the font size(smaller font)
 $(".decreaseFont").click(function(){
  var currentFontSize = $(&#39;html&#39;).css(&#39;font-size&#39;);
  var currentFontSizeNum = parseFloat(currentFontSize, 10);
  var newFontSize = currentFontSizeNum*0.8;
  $(&#39;html&#39;).css(&#39;font-size&#39;, newFontSize);
  return false;
 });
});
Copier après la connexion

9. Retourner à la fonction supérieure de la page

For a smooth(animated) ride back to the top(or any location).
$(document).ready(function() {
$(&#39;a[href*=#]&#39;).click(function() {
 if (location.pathname.replace(/^\//,&#39;&#39;) == this.pathname.replace(/^\//,&#39;&#39;)
 && location.hostname == this.hostname) {
  var $target = $(this.hash);
  $target = $target.length && $target
  || $(&#39;[name=&#39; + this.hash.slice(1) +&#39;]&#39;);
  if ($target.length) {
 var targetOffset = $target.offset().top;
 $(&#39;html,body&#39;)
 .animate({scrollTop: targetOffset}, 900);
  return false;
  }
 }
 });
// how to use
// place this where you want to scroll to// the linkgo to top});
Copier après la connexion

10. Obtenir la valeur XY du pointeur de la souris

Want to know where your mouse cursor is?
$(document).ready(function() {
  $().mousemove(function(e){
   //display the x and y axis values inside the div with the id XY
  $(&#39;#XY&#39;).html("X Axis : " + e.pageX + " | Y Axis " + e.pageY);
 });
// how to use});
Copier après la connexion

11. Bouton Retour en haut

Vous pouvez utiliser animer et scrollTop pour implémenter l'animation de retour en haut. sans utiliser d'autres plug-ins.

// Back to top
$(&#39;a.top&#39;).click(function () {
 $(document.body).animate({scrollTop: 0}, 800);
 return false;
});
Back to top
Copier après la connexion

Changer la valeur de scrollTop peut ajuster la distance entre le retour et le haut, et le deuxième paramètre d'animate est le temps nécessaire pour effectuer l'action de retour (unité : millisecondes ).

12. Précharger les images

Si votre page utilise beaucoup d'images invisibles (telles que l'affichage au survol), vous devrez peut-être les précharger :

$.preloadImages = function () {
 for (var i = 0; i < arguments.length; i++) {
  $(&#39;&#39;).attr(&#39;src&#39;, arguments[i]);
 }
};
$.preloadImages(&#39;img/hover1.png&#39;, &#39;img/hover2.png&#39;);
Copier après la connexion

13. Vérifiez si l'image est chargée

Parfois, vous devez vous assurer que l'image est chargée afin d'effectuer les opérations suivantes :

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

Vous pouvez remplacer img par un autre identifiant ou classe pour vérifier si l'image spécifiée est chargée.

14. Modifier automatiquement les images brisées

Si vous trouvez un lien d'image brisé sur votre site Web, vous pouvez le remplacer par une image qui ne peut pas être facilement remplacée. . L'ajout de ce code simple peut vous éviter bien des ennuis :

$(&#39;img&#39;).on(&#39;error&#39;, function () {
 $(this).prop(&#39;src&#39;, &#39;img/broken.png&#39;);
});
Copier après la connexion

Même si votre site ne contient pas de liens d'images rompus, il n'y a aucun mal à ajouter ce code.

15. Attribut de classe de commutation de survol de la souris

Si lorsque l'utilisateur passe la souris sur un élément cliquable, vous souhaitez modifier son effet, Le code suivant peut ajouter un attribut de classe lorsqu'il survole un élément, et annuler automatiquement l'attribut de classe lorsque l'utilisateur s'éloigne de la souris :

$(&#39;.btn&#39;).hover(function () {
 $(this).addClass(&#39;hover&#39;);
 }, function () {
  $(this).removeClass(&#39;hover&#39;);
 });
你只需要添加必要的CSS代码即可。如果你想要更简洁的代码,可以使用 toggleClass 方法:
$(&#39;.btn&#39;).hover(function () { 
 $(this).toggleClass(&#39;hover&#39;); 
});
Copier après la connexion

Remarque : utiliser CSS directement pour obtenir cet effet peut être une meilleure solution, mais vous devez quand même connaître la méthode.

16. Désactiver les champs de saisie

Parfois, vous devrez peut-être désactiver le bouton d'envoi d'un formulaire ou un champ de saisie jusqu'à ce que l'utilisateur effectue une action (par exemple, cochez " Lire les conditions"). Vous pouvez ajouter l'attribut désactivé jusqu'à ce que vous souhaitiez l'activer :

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

Il vous suffit d'exécuter la méthode removeAttr et de passer l'attribut à supprimer en paramètre :

$(&#39;input[type="submit"]&#39;).removeAttr(&#39;disabled&#39;);
Copier après la connexion

17. Empêcher le chargement des liens

Parfois, vous ne souhaitez pas créer un lien vers une page ou la recharger, vous souhaiterez peut-être qu'elle fasse autre chose ou déclencher quelque chose. Pour d'autres scripts, vous pouvez faire ceci :

$(&#39;a.no-link&#39;).click(function (e) {
 e.preventDefault();
});
Copier après la connexion

18. Changer de fondu/glissade

fondu et les diapositives sont ce que nous utilisons. Les effets d'animation sont souvent utilisés dans jQuery pour améliorer l'apparence des éléments. Mais si vous souhaitez que le premier effet soit utilisé lorsque l'élément est affiché et le deuxième effet lorsqu'il disparaît, vous pouvez faire ceci :

// Fade
$(&#39;.btn&#39;).click(function () {
 $(&#39;.element&#39;).fadeToggle(&#39;slow&#39;);
});
// Toggle
$(&#39;.btn&#39;).click(function () {
 $(&#39;.element&#39;).slideToggle(&#39;slow&#39;);
});
Copier après la connexion

19. Effet accordéon simple

Voici un moyen rapide et facile d'obtenir un effet accordéon :

// Close all panels
$(&#39;#accordion&#39;).find(&#39;.content&#39;).hide();
// Accordion
$(&#39;#accordion&#39;).find(&#39;.accordion-header&#39;).click(function () {
 var next = $(this).next();
 next.slideToggle(&#39;fast&#39;);
 $(&#39;.content&#39;).not(next).slideUp(&#39;fast&#39;);
 return false;
});
Copier après la connexion

20. Faire en sorte que deux divs aient la même hauteur

Parfois, vous devez faire en sorte que deux divs aient la même hauteur, quel que soit le contenu qu'ils contiennent. Vous pouvez utiliser l'extrait de code suivant :

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

Ce code parcourra un groupe d'éléments et définira leur hauteur sur la hauteur maximale parmi les éléments.

21. Vérifiez si l'élément est vide

This will allow you to check if an element is empty.
$(document).ready(function() {
 if ($(&#39;#id&#39;).html()) {
  // do something
  }
});
Copier après la connexion

22. Remplacez l'élément

$(document).ready(function() {
  $(&#39;#id&#39;).replaceWith(&#39;I have been replaced&#39;);
});
Copier après la connexion

23. Fonction de chargement retardé de jQuery

$(document).ready(function() {
  window.setTimeout(function() {
   // do something
  }, 1000);
});
Copier après la connexion

24. 🎜>

$(document).ready(function() {
  var el = $(&#39;#id&#39;);
  el.html(el.html().replace(/word/ig, ""));
});
Copier après la connexion
25. Vérifiez si l'élément existe dans la collection d'objets jquery

$(document).ready(function() {
  if ($(&#39;#id&#39;).length) {
 // do something
 }
});
Copier après la connexion
26 . Rendre l'intégralité du DIV cliquable

27. ID与Class之间转换

当改变Window大小时,在ID与Class之间切换

$(document).ready(function() {
  function checkWindowSize() {
  if ( $(window).width() > 1200 ) {
    $(&#39;body&#39;).addClass(&#39;large&#39;);
  }
  else {
    $(&#39;body&#39;).removeClass(&#39;large&#39;);
  }
  }
$(window).resize(checkWindowSize);
});
Copier après la connexion

28. 克隆对象

$(document).ready(function() {
  var cloned = $(&#39;#id&#39;).clone();
// how to use});
Copier après la connexion

29. 使元素居屏幕中间位置

$(document).ready(function() {
 jQuery.fn.center = function () {
   this.css("position","absolute");
   this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
   this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
   return this;
 }
 $("#id").center();
});
Copier après la connexion

30. 写自己的选择器

$(document).ready(function() {
  $.extend($.expr[&#39;:&#39;], {
    moreThen1000px: function(a) {
      return $(a).width() > 1000;
   }
  });
 $(&#39;.box:moreThen1000px&#39;).click(function() {
   // creating a simple js alert box
   alert(&#39;The element that you have clicked is over 1000 pixels wide&#39;);
 });
});
Copier après la connexion

31. 统计元素个数

$(document).ready(function() {
  $("p").size();
});
Copier après la connexion

32. 使用自己的 Bullets

$(document).ready(function() {
  $("ul").addClass("Replaced");
  $("ul > li").prepend("‒ ");
 // how to use
 ul.Replaced { list-style : none; }
});
Copier après la connexion

33. 引用Google主机上的Jquery类库

//Example 1
Copier après la connexion

34. 禁用Jquery(动画)效果

$(document).ready(function() {
  jQuery.fx.off = true;
});
Copier après la connexion

35. 与其他Javascript类库冲突解决方案

$(document).ready(function() {
  var $jq = jQuery.noConflict();
  $jq(&#39;#id&#39;).show();
});
Copier après la connexion

以上就是本章的全部内容,更多相关教程请访问jQuery视频教程

É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