Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources 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 23/01/2012, 13h35   #1
Nouveau Membre du Club
 
Inscription : janvier 2012
Messages : 64
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 64
Points : 25
Points : 25
Par défaut Appel de fonction?

Bonjour,

Voila, j'ai un petit problème lors de l'appel d'une de mes fonctions. Cette fonction est située dans un fichier script.js.
Mais lorsque je l'appel, il met la met en undefined.

Voila mon appel:
Code :
1
2
3
4
5
body onload="menuSlider.init('menuliste','slide');">
<?php 
align();
?>
<div id="centrage" style="position:relative; margin-left:auto; margin-right:auto; width: 955px; box-shadow:4px 4px 2px #B3B3B3; ">
et voila la fonction placé dans le fichier script.js:
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
function align()
{
 
	var lmt = document.getElementById('centrage');
	var container = document.documentElement;
 
	if(lmt && container)
	{
	    var containerHeight;
	    if (container.innerWidth)
	    {
            containerHeight = container.innerHeight;		
		}
		else
		{
            containerHeight = container.clientHeight;
		}
	    var lmtHeight;
	    if (lmt.innerWidth)
	    {
            lmtHeight = lmt.innerHeight;
			lmtHeight = 600;
		}
		else
		{
            lmtHeight = lmt.offsetHeight;
			lmtHeight = 600;
		}
		var y = Math.ceil((containerHeight - lmtHeight) / 2);
		var y = Math.ceil((containerHeight - 590) / 2);
		if(y < 0)
		{
			y = 0;
		}
		lmt.style.position = "relative";
		lmt.style.top = y + "px";
	}
	if (document.getElementById)
	{
		document.body.style.visibility = 'visible';
	}
 
}
Si quelqu'un peut-m'aider a trouver mon erreur.

Cordialement,

Ctesias
Ctesias est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h08   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 018
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 018
Points : 5 081
Points : 5 081
C'est pas avec <?php que tu peux appeler un code JS

Si tu veux qu'une callback soit déclenchée au chargement de la page, il faut utiliser l'évènement onload de cette manière:
Code :
1
2
3
window.onload = function () {
  /** TON CODE ICI **/
}
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h11   #3
Nouveau Membre du Club
 
Inscription : janvier 2012
Messages : 64
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 64
Points : 25
Points : 25
haaa oui merci. En effet cela marche
Ctesias est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h24   #4
Nouveau Membre du Club
 
Inscription : janvier 2012
Messages : 64
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 64
Points : 25
Points : 25
Hop, je reouvre ce post puisque j'ai maintenant un problème de conflit entre deux script.

Script.js:

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
var menuSlider=function(){
	var m,e,g,s,q,i; e=[]; q=8; i=8;
	return{
		init:function(j,k){
			m=document.getElementById(j); e=m.getElementsByTagName('li');
			var i,l,w,p; i=0; l=e.length;
			for(i;i<l;i++){
				var c,v; c=e[i]; v=c.value; if(v==1){s=c; w=c.offsetWidth; p=c.offsetLeft}
				c.onmouseover=function(){menuSlider.mo(this)}; c.onmouseout=function(){menuSlider.mo(s)};
			}
			g=document.getElementById(k); g.style.width=w+'px'; g.style.left=p+'px';
		},
		mo:function(d){
			clearInterval(m.tm);
			var el,ew; el=parseInt(d.offsetLeft); ew=parseInt(d.offsetWidth);
			m.tm=setInterval(function(){menuSlider.mv(el,ew)},i);
		},
		mv:function(el,ew){
			var l,w; l=parseInt(g.offsetLeft); w=parseInt(g.offsetWidth);
			if(l!=el||w!=ew){
				if(l!=el){var ld,lr,li; ld=(l>el)?-1:1; lr=Math.abs(el-l); li=(lr<q)?ld*lr:ld*q; g.style.left=(l+li)+'px'}
				if(w!=ew){var wd,wr,wi; wd=(w>ew)?-1:1; wr=Math.abs(ew-w); wi=(wr<q)?wd*wr:wd*q; g.style.width=(w+wi)+'px'}
			}else{clearInterval(m.tm)}
}};}();

align.js:

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
window.onload = function ()
{
 
		var lmt = document.getElementById('centrage');
	var container = document.documentElement;
 
	if(lmt && container)
	{
	    var containerHeight;
	    if (container.innerWidth)
	    {
            containerHeight = container.innerHeight;		
		}
		else
		{
            containerHeight = container.clientHeight;
		}
	    var lmtHeight;
	    if (lmt.innerWidth)
	    {
            lmtHeight = lmt.innerHeight;
			lmtHeight = 600;
		}
		else
		{
            lmtHeight = lmt.offsetHeight;
			lmtHeight = 600;
		}
		var y = Math.ceil((containerHeight - lmtHeight) / 2);
		var y = Math.ceil((containerHeight - 590) / 2);
		if(y < 0)
		{
			y = 0;
		}
		lmt.style.position = "relative";
		lmt.style.top = y + "px";
	}
	if (document.getElementById)
	{
		document.body.style.visibility = 'visible';
	}
 
 
 
}

SUivant l'ordre d'appel, l'un desactive l'autre. Sachant que align.js est mon script de centrage verticale de ma page et script.js, mon script de slider de ma barre de menu..

HELP ><
Ctesias est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h07.


 
 
 
 
Partenaires

Hébergement Web