IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Fenêtre modale ouverture au lancement de la page


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    juriste
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Par défaut Fenêtre modale ouverture au lancement de la page
    Bonjour,

    Au sein de ma page php, j'ai intégré un script pour l'ouverture d'une fenêtre modale. Celui ci fonctionne très bien excepté que la fenêtre ne s'ouvre qu'en cliquant sur un lien.

    J'aurais voulu que la fenêtre modale s'ouvre automatique au lancement de la page...

    J'ai essayé d'intégrer le script dans le <header> avec un timeout mais rien y faire..

    Le script est le suivant actuellement entre les balises <body> et </body>

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <!--début du script-->
    <div class="container">
    <div id="content">
    <div class="post">
    <a href="#" data-width="700" data-rel="popup1" class="poplight">En savoir plus...</a>
    </div>
    <div id="popup1" class="popup_block">
    <h4>texte....</h4></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    jQuery(function($){
    	$('a.poplight').on('click', function() {
    		var popID = $(this).data('rel');
    		var popWidth = $(this).data('width');
    		$('#' + popID).fadeIn().css({ 'width': popWidth}).prepend('<a href="#" class="close"><img src="img/close_pop.png" class="btn_close" title="Fermer" alt="Close" /></a>');
    		var popMargTop = ($('#' + popID).height() + 80) / 2;
    		var popMargLeft = ($('#' + popID).width() + 80) / 2;
    		$('#' + popID).css({ 
    			'margin-top' : -popMargTop,
    			'margin-left' : -popMargLeft
    		});
    		$('body').append('<div id="fade"></div>');
    		$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();
    		return false;
    	});
    	$('body').on('click', 'a.close, #fade', function() {
    		$('#fade , .popup_block').fadeOut(function() {
    			$('#fade, a.close').remove();  
    		});
    		return false;
    	});
    });
    Merci d'avance pour votre aide !!
    Cordialement,

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Bah... si tu ne veux pas qu'elle s'ouvre au clic sur un lien, ne la déclare pas au clic sur un lien... Si tu veux qu'elle s'ouvre au chargement de la page, déclare la au chargement de la page...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    jQuery(function($){
    	var popID = $(this).data('rel');
    	var popWidth = $(this).data('width');
    	$('#' + popID).fadeIn().css({ 'width': popWidth}).prepend('<a href="#" class="close"><img src="img/close_pop.png" class="btn_close" title="Fermer" alt="Close" /></a>');
    	var popMargTop = ($('#' + popID).height() + 80) / 2;
    	var popMargLeft = ($('#' + popID).width() + 80) / 2;
    	$('#' + popID).css({ 
    		'margin-top' : -popMargTop,
    		'margin-left' : -popMargLeft
    	});
    	$('body').append('<div id="fade"></div>');
    	$('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn();
    	$('body').on('click', 'a.close, #fade', function() {
    		$('#fade , .popup_block').fadeOut(function() {
    			$('#fade, a.close').remove();  
    		});
    		return false;
    	});
    });
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Homme Profil pro
    juriste
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : juriste

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Par défaut
    Bonjour,

    Merci je vais tester ce soir avec votre proposition...
    Juste une précision je peux laisser le script dans le body ou mieux vaut-il le placer dans le head ?

    Cldt,

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il est toujours préférable (et conseillé) de séparer la structure HTML, la mise en page CSS et les interactions JavaScript, donc effectivement, il vaut mieux éviter de mettre les scripts au milieu de la page.
    Quant à la position idéale, c'est une question expliquée dans la FAQ. Mais dans ton cas, vu que tu utilises jQuery(...);, mettre le script dans la partie <head> me semble pertinent.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/08/2014, 21h49
  2. Ouvrir une fenêtre modale à l'ouverture d'une page
    Par fashion80 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 02/11/2012, 10h30
  3. Ouverture automatique d'une fenêtre modal
    Par lodan dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/09/2006, 22h24
  4. Fenêtre modale Erreur au lancement de mon application
    Par James_ dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/06/2006, 08h30
  5. ouverture/fermeture d'une fenêtre modale showModelessDialog
    Par marti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2006, 05h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo