Function en Jquery

Function en Jquery - HTML/CSS - Programmation

Marsh Posté le 14-03-2015 à 18:59:17    

Bonsoir,
 
Voilà ma question. Je débute fraîchement en JQuery  :o (pas tout à fait mais bon) et quand je trouve un exemple donné, je trouve systématiquement des $(function(){... avec parfois encore d'autres fonctions imbriquées, histoire que je comprenne encore moins. Pourquoi les mettre systématiquement ? J'ai compris que ça "isole le code", mais de quoi ? Le vrai but, le vrai effet obtenu, je l'ignore.
 
Ma méthode perso est de partir du JS, et de "traduire" en JQ, ai-je tort ? En général, ça fonctionne, pas de function de partout. Parfois, aussi, je trouve deux méthodes différentes... exemple avec le changement en css, on a parfois un .css("effet", "valeur" ) et parfois directement le .effet("valeur" ) demandé.
 
Pourrie-vous confirmer que le JQuery est "compatible" avec tous les IE depuis la version 9 ? J'ai fait un test cet après midi chez un copain, mes liens (pourtant !! de simples liens, quoi) ne fonctionnent pas, pas de changement de page, le navigateur s'en fout, obligé de faire clic-droit nouvel onglet. Et chez un autre copain, ça va comme je veux.
 
Merci pour vos conseils.


---------------
Réveillez-vous, ça fait 2 boeing par jour :fou:
Reply

Marsh Posté le 14-03-2015 à 18:59:17   

Reply

Marsh Posté le 14-03-2015 à 19:49:35    

Chez ton premier pote, tu as regardé si il avait l'un des derniers IE ou le IE 8 ?


---------------
L'écoconception n'est pas négociable - Topic habitats de demain : https://tinyurl.com/y5h2mjx7
Reply

Marsh Posté le 15-03-2015 à 00:59:00    

Pour ton pote, ça peut être tout simplement son antipopup.
 
Pour les fonctions, c'est surtout une histoire de portée en fait je pense... Ta fonction n'est accessible que par la fonction dans laquelle est inclue (idem pour les paramètres globaux éventuels)

Reply

Marsh Posté le 15-03-2015 à 07:52:17    

Le premier a 7.1 donc je suppose que c'est IE9 ou IE10 ?


---------------
Réveillez-vous, ça fait 2 boeing par jour :fou:
Reply

Marsh Posté le 15-03-2015 à 12:41:42    

Le coup du  
$(function ($) { /* ... */ })
permet d’exécuter la function dès que la page est prête (càd chargée), en se passant lui-même en paramètre (le "$", mais il pourrait s’appeler autrement si tu veux), ce qui a pour effet d'isoler jQuery dans la dite function, pour éviter qu'un autre script que tu aurais dans ta page s'amuse à créer une variable globale qui s'appelerait aussi "$", et qui du coup "écraserait" jQuery. C'est pour ca que tu vois en général des trucs comme ca :

Code :
  1. jQuery (function ($) // rien n'empeche un script à la con de créer une autre variable globale qui s'appelerait "jQuery" aussi, mais bon ... :o
  2.   {
  3.     var
  4.       uneVariableLocale,
  5.       uneAutreVariableLocale = $('truc'); // ce "$" est locale, car en parametre
  6.     /* ... */
  7.   });


 
Pour IE, jQuery 2.0+ n'est compatible qu'avec IE9 et plus. Il existge un plugin permettant de le rendre compatible avec les vieux IE, ou alors il faut passer par la branche inférieure à la 2.0


Message édité par SICKofitALL le 15-03-2015 à 12:42:38

---------------
We deserve everything that's coming...
Reply

Marsh Posté le 16-03-2015 à 22:36:50    

Tiens, je me pose une question en rapport : avez-vous encore des besoins de compatibilité avec des vieux navigateurs pour des sites faisant appel à des foncions avancées ? je pars du principe qu du moment que je mets du JQ c'est que le visiteur va avoir besoin de valeur ajoutée. Sinon, je fais une mise en page basique et sans fonction,vu qu'en général c'est associé à des machines peu puissantes. Je peux avoir tort, qu'en pensez-vous ?

Reply

Marsh Posté le 17-03-2015 à 09:27:27    

C'est quoi pour toi un vieux navigateur ?

Reply

Marsh Posté le 18-03-2015 à 21:09:20    

J'utilisais .ready pour tester ça, mais ça a l'air pas mal du tout, merci :)


---------------
Réveillez-vous, ça fait 2 boeing par jour :fou:
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed