Forum Clubic

Javascript - Utilisation de rollovers

Salut à tous,

J’explique mon prob :

Je souhaiterais ouvrir une page web dans un cadre lorsque j’ai deux rollovers en état cliqué (selected). Un bouton se trouve dans un cadre top, et l’autre dans le cadre menu.

Une condition, avec une vague idée du genre :



function mafenetre(){

if(window.top.document.selected=="nomdurollover" && window.menu.document.selected=="nomdelautrerollover"){

window.open('mapageweb.htm','principal');

}
}


Etant donné que j’utilise très peu Javascript, j’ai quelques blancs dans ce genre de situation. Pourtant avec les id dans les formulaires ça marche, mais je sais pas si c’est possible avec des rollovers.

Voilà, s’il y a une bête du Javascript, c’est volontiers que j’accepte son aide :slight_smile:

Merci.
A+

Hmmmm, qu’est ce que t’appelle un rollover cliqué ???
Pour moi rollover, c’est quand tu survolles qqchose

Ben en fait après avoir cherché 1000 solutions ce matin, je pense mieux m’expliquer :

Je pense qu’il faut utiliser onmouseup, c’est à dire au moment où l’utilisateur lève le doigt du bouton gauche d’la souris.

Dans ImageReady, tu as la possibilité de donner 3 états au bouton :

Etat normal, état survolé et état cliqué (le bouton reste enclenché). Moi j’aimerais que lorsqu’un de mes boutons dans le cadre top est cliqué ET que l’un de mes boutons dans le cadre menu est cliqué (donc les deux sont en état enclenché), ALORS j’aimerais que ca m’ouvre une page dans le cadre principal.

J’essaie un truc du genre pour le moment, mais ça pas l’air très positif lol :



function mafenetre(){

if(document.boutontop.onmouseup == true && window.parent.menu.document.boutonmenu.onmouseup == true){

window.open('mapageweb.htm','principal');

}
}


boutontop et boutonmenu, sont bien entendu, les noms des boutons. Je sais que c’est assez complexe comme méthode, mais ça pas l’air si compliqué pourtant mdr.

Je pense avoir été plus précis cette fois :slight_smile:

je savais pas que pour les boutons pouvaient rester enfoncés
mais à priori, ça marche comme les cases à cocher … non ?

sinon si tu utilise des frames (topet menu )?,mais le javascript dans la page ou tu définis le frameset, ça sera plus simple, ça sera toujours la meme manière pour acceder aux objets

apres sur onclick de tes 2 boutons , tu appelles ta fonction :

if(window.top.tonbouton1.selected==true && window.menu.tonbouton2.selected==true)
window.open ( ....

bon apres, vérifie la syntaxe, pasque les frames, pourmoi,c loin …

++

Merci, mais ça m’aide pas vmt. La syntaxe que j’ai écrite est de toute façon fausse… mais rien à faire je ne trouve pas la solution. J’ai presque réussi hier, mais je pense pas que c’est la bonne syntaxe.

Bon ya pas quelqu’un qui passe toute sa vie dans du Javascript ?? Je sais bien que c’est démodé, mais bon quand même! :lol:

Ben voilà, j’ai trouvé une solution, mais… évidemment c’est pas tout à fait ce que je souhaite faire. J’ai fait juste une fonction test avec des alertes…

Voici mon code :



function test(){

if((document.images['boutondumenu'].src='images/boutondumenu-over.gif') &&(parent.entete.document.images['boutondelentete'].src='images/boutondelentete-over.gif')){

alert('ca marche');

}else{

alert('erreur');
}

}


Alors, lorsque je clique sur le boutondumenu, au lieu de VÉRIFIER si le rollover est visible, il me change le bouton de base et met le rollover à la place. Vous me direz que c’est normal, puisque images[’’].src=’’ permet justement de remplacer la source d’une image.

Moi je veux pas la remplacer, je veux la vérifier. Pourtant j’ai bien mis une CONDITION, c’est là que je capte pas pourquoi ca marche pas.

Ah ces scripts… lol

Toujours personne pr m’aider ?! :cry:

Tu as essayé de faire alert(image.src) ? tu verras que cela ne correspond pas à ce que tu veux. Généralement ça contient le path complet (genre http://www.xxx.com)). Tu peux corriger ça avec une regexp :

if ( image.src.match( /images\/boutondumenu-over\.gif$/ ) )
  ...;

Au passage, édite ton code. En général :

  1. parenthèses superflues avec && : la priorité de && est toujours plus faible que celle de ==. Donc pas besoin de faire (a==b)&&(c==b).

  2. tu peux sauter des lignes rendant ton code moins chiant à relire (présence de scrollbar horizontable = à éviter).

[edit] au passage, tu met xxx.src = ‘aa’; … là tu fais une assignation qui est pratiquement toujours vraie. C’est == pas =.

Merci! En fait, j’ai mis des alertes, mais c juste pr tester, moi j veux insérer une page web dans une frame, lorsque les deux images sont en état cliqué, donc que les deux “over” sont visibles.

Je comprends pas à quoi sert ta fonction ?!

Merci.

à faire ce que tu fais.

Ah la classsssssse! C’est bon, j’ai essayé d’après ton truc malgré k j ai pas trop capté le “match machin lol”.

Tu es un dieu tu sais ?!

Merci 1000 fois!! d puis l temps k j m pete le cerveau sur ce truc ^^

(…)

C’est la base de javascript…