Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2011, 14h50   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut ie7 et objet jquery

slt
je rame , sur ie7 et ie8(c'est peux dire), alors que le code fonctionne sur la version 9 et les autres brothers .

voici le code
Code :
1
2
3
4
5
6
 
//list
        slideList = this.find('.slide_Menu_list');
 
        //clip
        clip = slideList.parent();
ie7 et 8 me retourne l'erreur suivante sur la 2eme ligne de code:
SCRIPT438: Cet objet ne gère pas cette propriété ou cette méthode

ce code se trouve dans une fonction jquery qui gere un menu

j'ai beau chercher je ne trouve pas beaucoup de ressources sur les soucis jquery et ie7 8

voilou
merci
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2011, 19h10   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Sans le contexte ce n'est pas évident, mais si votre code est du jQuery normal, il faut écrire :

Code :
1
2
3
4
5
//list
var slideList = $(this).find('.slide_Menu_list');
 
//clip
clip = slideList.parent();
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 10h41   #3
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut ie7 et jquery

slt et merci
je vais mettre le contexte ;-)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
(function(){
    $.fn.jmenuCarousel=function(aFunction){
 
        //list
        slideList = $(this).find('.slide_Menu_list');
 
        //clip
        clip = slideList.parent();
 
        //width of list
        listWidth = 0;
 
        //catch scroll item
 
        this.find('li').each(function(){
 
            node=$(this);
 
            listWidth+=node.width();
 
            if(typeof aFunction == 'function')
            {
                node.find('a').each(
                    function(){
                        //reset a click comportement
                        $(this).unbind('click');
                        // add comportement
                        $(this).click(aFunction);
                    })
 
            }
 
        })
 
        //set width of list
        slideList.width(listWidth+10);
 
        // init first visible  element
        firstVisibleItem = slideList.find('.menu_slide_item_'+0);
 
 
 
        //handle buttons
        btprev=this.find('.btPrev');
        btNext=this.find('.btNext');
        //add click
        btprev.click(function(){
            btDisable(),backward()
        });
        btNext.click(function(){
            btDisable(),forward()
        });
je ne pense pas que la suite de la fonction soit utilise vu que ie7 et ie8 s'arrete a la ligne
Code :
1
2
 
clip = slideList.parent();
meme en faisant ta petite manip.j'ai toujours

SCRIPT438: Cet objet ne gère pas cette propriété ou cette méthode

pourtant parent() est accepté par ie7 et ie8 dans la doc jquery

voilou je rame toujours mais je continu mes recherches.
ca doit être gros comme une maison, mais bon ...... j'y vois rien ;-)
A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 10h52   #4
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 129
Points : 38
Points : 38
Par défaut ie7 ie8 et jquery

re
j'ai résolu mon soucis, en faite ie7 et ie8 n'aime apparemment pas qu'on oublis "var" devant le nom de nos variables et les objets jquery doivent obligatoirement être précédés de $

merci A+
bruno.rotrou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 11h06   #5
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonjour

J'ai écrit : "Sans le contexte ce n'est pas évident, mais si votre code est du jQuery normal, il faut écrire :"

Et justement votre code est spécial, il s'agit d'un plugin. Et dans un plugin, this contient un Array d'objets que le plugin doit traité un par un. Et dans un plugin on doit toujours retourner ce this pour maintenir le chaînage des instructions jQuery.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(function($){
	$.fn.jmenuCarousel = function(aFunction){
		return this.each(function(i, item){
			// list
			var slideList = $(item).find('.slide_Menu_list');
 
			// clip
			var clip = slideList.parent();
 
			// width of list
			var listWidth = 0;
 
			// catch scroll item
			$(item).find('li').each(function(j, jtem){
				listWidth += $(jtem).width();
 
				if(typeof aFunction == 'function'){
					$(jtem).find('a').each(function(k, ktem){
						//reset a click comportement
						$(ktem).unbind('click');
 
						// add comportement
						$(ktem).click(aFunction);
					});
				}
			});
		});
	};
})(jQuery);
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h32.


 
 
 
 
Partenaires

Hébergement Web