Code javascript

Bonjour,

quelqu'un pourrait-il m'aider à modifier un code javascript ?

actuellement j'ai cette fonction en mouseover :
// Ouvrir une fenêtre Pop-up centrée dans l'écran
function PopupCentrer(page,largeur,hauteur,options)
{ 
 var top=(screen.height-hauteur)/2; 
 var left=(screen.width-largeur)/2; 
 window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options); 
}


EDIT: Ajout des balises de code

je cherche le moyen de fermer cette fenêtre en mouseout

merci

3 réponses

  1. Modérateur
    Bonjour,
    Le problème... c'est que ton code ouvre une POPUP (une nouvelle fenêtre de ton navigateur )
    Ce n'est pas une fenêtre MODAL et n'appartient donc pas à ta page à proprement parlé.

    Ce que tu souhaites réaliser semble d'avantage être une modal (ou un interstitiel )
    Je te conseille de t'orienter plutot vers ça.
    https://www.w3schools.com/howto/howto_css_modals.asp
    ou
    https://github.com/ghosh/micromodal
    ou https://tingle.robinparisi.com/

    (sachant qu'il en existe des miliers sur internet... en pure javascript ou en jquery... tu as le choix )

    1. super sympa de ta réponse,
      oui, je souhaite ouvrir une fenêtre popup, je travaille sur Illustrator,
      j'insère la fonction javascript, mais je n'y connais rien, j'ai juste récupéré ce code, qui marche bien, mais je veux juste rajouter la fonction afficher ou non cette fenêtre lors du survol (onmouseover / onmouseout) d'un élément de mon fichier Illustrator.
      1. Modérateur
        donc je répète.. ce que tu cherches à faire c'est une fenêtre MODAL et non une POPUP.
        La popup c'est l'ouverture d'une nouvelle fenêtre de ton navigateur (comme quand tu cliques sur un lien et que ça ouvre une nouvelle page de ton navigateur)
        La fenêtre MODAL c'est l'affichage (en superposition de ta page actuelle) d'un élément dans ta page. Là tu peux le manipuler comme tu le souhaites, détecter les mouvements de la souris.. etc...
        Il te faut donc utiliser une fenêtre MODAL.
      2. Contributeur
        si le JavaScript qu'il utilise sur Illustrator a une méthode window.open, il a peut-être aussi une méthode window.close fonctionnant comme celle-ci :

        https://developer.mozilla.org/fr/docs/Web/API/Window/close

        pouvant être fermée par le navigateur à condition de disposer de la référence à l'objet créé comme proposé dans le code d'exemple (avec déclaration d'une variable globale), et que la fenêtre ait été ouverte par un script et non pas par l'utilisateur

        Code issu de MDN pour la fermeture d'une fenêtre ouverte avec window.open() :

        <script type="text/javascript">
        // Variable globale pour stocker une référence vers la fenêtre ouverte
        var fenetreOuverte;
        
        function ouvrirFenetre()
        {
          fenetreOuverte = window.open('details.html');
        }
        function fermerFenetreOuverte()
        {
          fenetreOuverte.close();
        }
        </script>

        les fenêtres pop-up c'est moche et cela ne se fait plus, mais si c'est ce qu'il veut faire pour des raisons qui lui appartiennent, et que son implémentation de JavaScript gère cela ....

        Dal
      3. Modérateur
        @[Dal]Le problème n'étant pas de fermer la fenêtre... mais de detecter le mouseout
      4. Contributeur
        OK, je vois, dans ces conditions et vu la maquette fournie en lien par jm17f dans sa réponse ci-dessous, je suis d'accord avec toi :-)

        Je pensais qu'il cherchait à scripter Illustrator avec un truc comme cela.
      5. @[Dal]super, ben oui, c exactement ça, ça doit être qq part là dedans, ya plus qu'à :-))
        jm
    2. en fait le plus simple c'est de voir mon exemple de ce que je cherche, voici le lien :
      http://plandecommune.fr/_im/list/+GABA/•index.html
      (c'est un gabarit)

      le bouton carré 1 ouvre bien une fenêtre d'info, au clic (onmouseclic)
      or il faut qu'elle ne s'affiche que au survol (onmouseover, ça je sais faire), puis disparaisse en "onmouseout"
      ça devrait être possible ?… merci beaucoup
      1. Modérateur
        J'insiste.... mais... moi je ferai :
        Ouverture d'une fenêtre modal
        modal contenant une IFRAME pointant sur le site voulu
        Au mouseout de l'iframe... fermetre de celle ci.
      2. Modérateur
        @jm17fTu prends le premier exemple que je t'ai donné... ( ICI
        Dans la div myModal .. tu colles le code de l'IFRAME
        et dans l'attribut SRC de l'IFRAME tu indiques l'URL de la page à ouvrir.
        C'est tout simple.
      3. @jordane45mais c que justement je n'ai pas de div, il s'agit d'un fichier javascript qui est en relation avec un objet dans une carte svg,
        à cet objet dans mon fichier svg, j'attribue un script pour un événement
        http://plandecommune.fr/capturecran.png