Rechercher : dans
Par :

Lien en javascript

Dernière réponse le 26 sep 2005 à 15:45:32 antic80, le 26 sep 2005 à 11:13:41 
 Signaler ce message aux modérateurs

Bonjour a tous

voila j'ai recuperer un code qui me permet de créer un menu dynamique

lorsque que je clic sur un lien l'auteur a mis la fonction suivante

function ClickOnItem( indexItem, texteItem )
{
alert( "T'as cliqué sur : " + texteItem )
}

ce qui fais que quand je clic il me dis sur koi j'ai cliquer

mais j'aimerai a la place que quand je clic je soit rediriger vers la page souhaité.

Meilleures réponses pour « lien en javascript » dans :
YouTube - Vous avez désactivé JavaScript VoirProblème Lorsque vous naviguez sur certains sites, tels que YouTube, ceux-ci affichent le message d'erreur suivant : Vous avez désactivé JavaScript ou bien vous possédez une ancienne version d'Adobe Flash Player. Téléchargez la dernière version...
Javascript - Lien aléatoire / Choisir un lien au hasard VoirLe script ci-dessous permet de créer un lien hypertexte dirigeant le visiteur vers une adresse choisie au hasard dans une liste. Le code ci-dessous est à insérer entre les balises et en début de page :
Une popup d'information au survol sans Javascript ni CSS VoirParfois, il peut être utile d'afficher des informations supplémentaire au survol du curseur sur une zone de l'écran, par exemple "Cliquez pour agrandir" sur une image, un descriptif sur une abbréviation ou des détails sur un lien. On trouve...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...

1

Erdnax, le 26 sep 2005 à 11:32:09

Salut,

Tu peux utiliser la méthode javascript window.location.href='' comme ça :

function ClickOnItem( indexItem, texteItem ) 
{ 
window.location.href=indexItem;  
}

@+
Punvf cnf dhbv zrgger...

Répondre à Erdnax

2

antic80, le 26 sep 2005 à 11:36:14

Je precise comment le nom de la page car chaque lien aura une page différente

Répondre à antic80

3

Erdnax, le 26 sep 2005 à 11:56:37
  • +1

En fait, si tu veux faire un lien tout simple, je te déconseil d'utiliser javascript.

Le html tout simple permet de faire des liens, en utilisant :

<a href="lapage/outu/veuxaller.html">Texte du lien</a>

et avec ça tu aura des "vrais" liens.

Sinon, pour continuer avec le javascript, c'est simplement en appelant la fonction que tu précise le paramètre :
function ClickOnItem(indexItem) 
{ 
window.location.href=indexItem;  
}
et lorsque tu veux appeler le lien :
ClickOnItem("veuxaller.html")

Punvf cnf dhbv zrgger...

Répondre à Erdnax

4

antic80, le 26 sep 2005 à 12:02:43

Excuse moi mais j'ai un peu de mal

je sais que le html c plus simple mais je souhaite vraiment un menu dynamique

voici par exemple la conception d'une partie du menu

var menu3 = menuContext.Add( "MenuDegrade" )

menu3.Add( "", "page1", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

menu3.Add( "", "page2", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

par rapport a ta fonction je vois comment faire pour que si je clic sur page1 il m'ouvre page1.html ou si je clic sur page 2 il m'ouvre page2.html

merci de m'aider

Répondre à antic80

5

Erdnax, le 26 sep 2005 à 12:30:03

D'accord, alors essaye ça :

Tu garde cette fonction comme ça :

function ClickOnItem( indexItem, texteItem ) 
{ 
window.location.href=indexItem;  
}


Puis, dans ton menu, il faut préciser, à mon avis, le texte et l'adresse du lien:

menu3.Add( "AMonAvisTexte", "page1.htm", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )


Mais je pourrai mieux t'aider en ayant le script sous les yeux, parce que là je sais pas comment son crées les fonctions. Donc si ton site ou tout du moins une partie est en ligne, ce serait cool de me filer l'adresse.
Punvf cnf dhbv zrgger...

Répondre à Erdnax

6

antic80, le 26 sep 2005 à 14:00:21

Voici mon code complet

<html>
<head>
<!-- Importe le fichier comportants les classes de style, puis les sources du menu -->
<LINK REL="stylesheet" TYPE="text/css" HREF="Styles.css">
<SCRIPT SRC="MenuContext/MenuContext.js"></SCRIPT>
<SCRIPT SRC="MenuContext/Menus.js"></SCRIPT>
<SCRIPT SRC="MenuContext/Items.js"></SCRIPT>
<script>
function ItemFonction( index, texte )
{
alert( "Ici, on peut faire ce qu'on veux, comme cacher l'image" )
GetElement( "img3" ).style.display = "none"
}

function ClickOnItem( indexItem, texteItem)
{
window.location.href=indexItem;
}

// "evenementSouris" doit être intercepté et passé à la fonction "ShowMenu" (pour Mozilla)
function ChangeAndShowMenu_0( evenementSouris )
{
// Met le menu contextuel voulus
menuContext.ChangeMenuActif( "0" )

// Affiche le menu
// Ne pas oublier le "return" (ShowMenu retourne toujours false) pour que le menu par défaut ne s'affiche pas
return ShowMenu( evenementSouris )
}

function ChangeAndShowMenu_1( evenementSouris )
{
menuContext.ChangeMenuActif( "1" )
return ShowMenu( evenementSouris )
}

function ChangeAndShowMenu_2( evenementSouris )
{
menuContext.ChangeMenuActif( "2" )
return ShowMenu( evenementSouris )
}
function ChangeAndShowMenu_3( evenementSouris )
{
menuContext.ChangeMenuActif( "3" )
return ShowMenu( evenementSouris )
}
</script>
</head>
<!-- ici, j'ai supprimer le menu contextuel du navigateur, mais c'est pas obligatoire -->
<body onselectstart="return false" ondragstart="return false" oncontextmenu="return false">
<table border="1" bgcolor="" width="100%" height="100%">
<tr>
<td width="">
<table border="1" bgcolor="" width="100%" height="100%">
<tr>
<td width="">
<td width="">
<table border="1" bgcolor="" width="100%">
<tr>
<td width="">




<img id="img1" src="Images/1.gif"></img>
<img id="img2" src="Images/4.gif"></img>
<img id="img3" src="Images/5.gif"></img>
<img id="img4" src="Images/06.gif"></img>
<script>
// Fait appel aux fonctions permettant de modifier le menu actif avant de l'afficher
// Il faut absolument capturer les évènements de cette manière pour que les propriétés de la souris
// soient passés à la fonction ShowMenu_0 (inutile pour IE, mais Netscape en a besoin)
GetElement( "img1" ).oncontextmenu = ChangeAndShowMenu_0
GetElement( "img2" ).oncontextmenu = ChangeAndShowMenu_1
GetElement( "img3" ).oncontextmenu = ChangeAndShowMenu_2
GetElement( "img4" ).oncontextmenu = ChangeAndShowMenu_3
// Crée le premier menu
var menu1 = menuContext.Add( "MenuDegrade" )

// Ajoute un sous-menu (grâce à "MakeSubMenu")
// Ici, on ne veut pas appeler de fonction lors d'un click donc : ""

menu1.Add( "", "Item", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

menu1.Add( "", "Item", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )
var menu2 = menuContext.Add( "MenuDegrade" )

// Ajoute un sous-menu (grâce à "MakeSubMenu")
// Ici, on ne veut pas appeler de fonction lors d'un click donc : ""

menu2.Add( "", "Menu", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

menu2.Add( "", "Item", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

var menu3 = menuContext.Add( "MenuDegrade" )

// Ajoute un sous-menu (grâce à "MakeSubMenu")
// Ici, on ne veut pas appeler de fonction lors d'un click donc : ""

menu3.Add( "", "bienvenue", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

menu3.Add( "", "ca va", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

var menu4 = menuContext.Add( "MenuDegrade" )

// Ajoute un sous-menu (grâce à "MakeSubMenu")
// Ici, on ne veut pas appeler de fonction lors d'un click donc : ""

menu4.Add( "", "hello", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )

menu4.Add( "", "Item", "ItemDegrade", "ItemOnFocus" ).SetFunction( "ClickOnItem" )


menuContext.Start( false )
</script>



</td>
</tr>
</table>

</td>

</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

je fais comment s'il te plais pour mes liens

Répondre à antic80

7

Erdnax, le 26 sep 2005 à 14:13:07

En fait, j'aurais plutot besoin de tes javascripts, donc le plus simple à mon avis c'est que tu me donnes l'adresse ou tu les as trouvés, que j'aille voir directement là-bas.

Et j'ai juste un question, c'est quoi comme type de menu, un menu de navigation, ou un menu contextuel (clique droit) ?
Punvf cnf dhbv zrgger...

Répondre à Erdnax

8

antic80, le 26 sep 2005 à 14:19:44

C un menu contextuel clic droit

voici le lien directement de la page mais tu dois etre inscrit pour pouvoir recuperer le code

http://www.javascriptfr.com/code.aspx?ID=25023

Répondre à antic80

9

antic80, le 26 sep 2005 à 14:20:44

Sinon je peux t'envoyer direct le zip si tu es d'accord

Répondre à antic80

10

Erdnax, le 26 sep 2005 à 14:27:01

Je crois juste que tu te compliques la vie :P

En fait, au vue de tes questions, je dirais que tu est débutant, et que ce script n'est pas franchement adapté. Suit le lien à la fin de mon message, tu devrais pouvoir t'en sortir bien plus facilement.

Ce script est généré sur la page même ou tu le trouves, tu n'as qu'a remplir les mots que tu veux afficher, et les liens (adresses) vers les pages correspondantes. Simple non ? Un copier coller lorsque tu as fini, et le tour est joué ;).

http://www.editeurjavascript.com/scripts/scripts_navigation_­1_113.php

@+
Punvf cnf dhbv zrgger...

Répondre à Erdnax

11

antic80, le 26 sep 2005 à 14:34:12

J'avais deja vu ce script mais c'est pas vraiment ce que je cherche

en effet en bas de page je souhaite afficher 5 images et chaque image dois fournir un menu contextuel différents juste en dessous

Répondre à antic80

12

Erdnax, le 26 sep 2005 à 15:02:16

Alors reprends le script que tu avais au début :P et dis moi simplement s'il fonctionne comme tu veux ou non.

Ensuite, modifie simplement le "alert("...")" par un document.location.href=adresseItem;

Où tu fais en sorte que l'adresse corresponde à une variable qui est transmise à la fonction, mais je ne sais pas si elle existe déjà ou non, car le code que tu me donnes plus haut ne comprends pas vraiment la gestion du menu, mais simplement son affichage.

Si elle n'est pas précisée tu la crée, tu rajoute simplement quelque chose du style adresseItem dans ClickOnItem( indexItem, texteItem, adresseItem ), et lorsque quelque chose appel cette fonction, tu lui passe le paramètre adresse en fonction de l'endroit que tu veux rejoindre.

Ouf, si tu n'as pas tout compris, essaye de te mettre au javascript, mais crois-moi, ce que tu essaye de faire élève déjà énormément le niveau, alors je ne dis pas que c'est infesable, mais pour un débutant ça me parraît chaud !

Et euh, juste comme ça, pour info, ce script n'est compatible qu'avec IE, alors tu va perdre une bonne partie de tes visiteurs si tu ne l'adapte pas, et ça, et ben c'est pas du gateau ! Punvf cnf dhbv zrgger...

Répondre à Erdnax

13

antic80, le 26 sep 2005 à 15:20:21

Tu connais pas un menu de ce style un peu plus efficace et assez simple a comprendre car j'ai pas tout suivi dans ton dernier message

Répondre à antic80

14

Erdnax, le 26 sep 2005 à 15:24:25

En fait, le truc c'est que je sais pas exactement à 100% ce que tu veux, et je comprends pas trop l'astuce de travailler avec des menus contextuels.

Pourquoi travailler avec des cliques droits au lieu de cliques gauches ? C'est pour afficher des menus ? Tu veux une interfaces hyper travaillée ?
Punvf cnf dhbv zrgger...

Répondre à Erdnax

15

antic80, le 26 sep 2005 à 15:34:28

En fait en bas de page j'aurais 5 catégories genre :

Nos services : Le personnel : .....

pour chaque catégorie une image différente

par exemple pour le personnel je met une image qui represente un groupe de personnes

ce que je veux c que quand je clic sur l'image un menu dois apparaitre pour me permettre d'acceder aux différentes pages de la catégorie personnel

il faut surtout que ce soit clair et bien présenté. pas forcement très technique

Répondre à antic80

16

Erdnax, le 26 sep 2005 à 15:42:27

Alors tu peux très bien faire ça avec un clique droit, ou même simplement un passage de souris sur l'image.

Ca s'appelle un menu dhtml, tu verra dans google que tu n'es de loin pas le seul à galérer.

Par exemple ici tu trouvera une explication claire (mais ça reste dans tous les cas un peu technique, c'est quand même très aboutit comme manière de présenter :S), version débutant, et tu pourra essayer d'y modifier lorsque ça tournera.

http://webmaster.lycos.fr/topics/technic/dhtml/dhtml-worksho­p2/0/

Sinon fais des recherches sur google avec "menu" et "dhtml".
Punvf cnf dhbv zrgger...

Répondre à Erdnax

17

 antic80, le 26 sep 2005 à 15:45:32

Merci Erdnax je vais tenter de me pencher sur ton site
je te tiens au courant

Répondre à antic80
Collection CommentÇaMarche.net