begin process at 2012 02 14 02:06:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fenêtre & Pop-up

 > CLASS POP-IN AVEC EFFET SOUS JQUERY DE "CONNEXION" STYLE CS {AJAX}

CLASS POP-IN AVEC EFFET SOUS JQUERY DE "CONNEXION" STYLE CS {AJAX}


 Information sur la source

Note :
6 / 10 - par 3 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fenêtre & Pop-up Classé sous :Pop-in, Jquery pop-in, Ajax pop-in, zoombox, Jquery pop-up Niveau :Débutant Date de création :29/08/2009 Date de mise à jour :18/10/2009 00:55:31 Vu / téléchargé :9 162 / 717

Auteur : Nementon

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Une pop-in lier a un fichier php, pour enchanter les formulaires de connexion de vos site :p

- Pour son installation :

Inclure dans le header de votre fichier htlm :
    -<script type="text/javascript" src="jquery.js"></script>
    -<script type="text/javascript" src="connexionbox.js"></script>
    -<link rel="stylesheet" media="screen" type="text/css" title="Nementon-PopIn" href="connexionbox.css" />

(Attention, bien inclure jQuery en premier);

Pour sont utilisation :
   <a href="ajaxPopin.php" alt="" rel="connexion" />

Elle s'approprie tous les lien dont l'attribut rel équivaut a "connexion", le fichier ajaxPopin.php et celui que je livre avec la pop-in, libre a vous de changer tous ça :)

[[ Un tutoriel sur la réalisation du script est disponible ici : http://uwht.u7n.org/tutoriel-programmation-23-10.h tml ]]

Source

  • /* ------------------------------------------------------------------------
  • Class: ConnexionBox
  • Auteur: Nementon (http://www.uwht.u7n.org || http://uwht.fr)
  • Version: 1.0.0
  • Html Box:
  • <div id="connexion_box">
  • <div id="connexion_aplat">
  • </div>
  • <div id="connexion_conteneur">
  • <div id="connexion_relative">
  • <div id="connexion_close">
  • </div>
  • <div id="connexion_contenu">
  • </div>
  • </div>
  • </div>
  • </div>
  • Html Form:
  • <fieldset><legend>Authentification</legend></fieldset>
  • <form action="'+coBox.lien+'" methode="post" id="connexion_form">
  • <label>Pseudo :</label>
  • <input type="text" name="pseudo" id="connexion_form" />
  • <label>Password :</label>
  • <input type="password" name="password" id="connexion_form" /><br />
  • <input type="submit" value="connexion" id="connexion_button/>
  • </form>
  • <div id="connexion_loader">
  • </div>
  • </fieldset>
  • ------------------------------------------------------------------------- */
  • $(document).ready(function(){
  • coBox.init();
  • });
  • coBox = {
  • // Configure la boite;
  • /////////////////
  • init : function(){
  • // Declarations des atribut par default;
  • coBox.heightD = 200; // Hauteur default;
  • coBox.widthD = 350; // Largeur default;
  • coBox.dure = 500; // Dure des animation par default (ms);
  • coBox.opacity = 0.7; // Opacite de l'aplat;
  • coBox.redirection = "index.php" // Url de redirection apres login;
  • $("a[rel='connexion']").click(function(){
  • coBox.lien = $(this).attr("href"); // Lien vers le script php de connexion;
  • //Code Html Box;
  • $('body').append('<div id="connexion_box"><div id="connexion_aplat"></div><div id="connexion_conteneur"><div id="connexion_relative"><div id="connexion_close"></div><div id="connexion_contenu"></div><div id="connexion_loader"></div></div></div></div>');
  • $("#connexion_conteneur").hide();
  • $("#connexion_aplat").css("opacity",0).fadeTo(coBox.dure, coBox.opacity);
  • coBox.anim();
  • //Verif !empty puis ajax;
  • $("form").submit(coBox.vForm);
  • // Loader Ajax;
  • $("#connexion_loader").ajaxStart(function(){ $(this).show(); });
  • $("#connexion_loader").ajaxStop(function(){ $(this).hide(); });
  • // Fermeture de la box;
  • $("#connexion_close").click(coBox.close);
  • $("#connexion_aplat").click(coBox.close);
  • return false;
  • });
  • },
  • anim : function() {
  • // On commence par cacher tous le contenu;
  • $("#connexion_conteneur").show();
  • $("#connexion_loader").hide();
  • // On Centre la box;
  • $("#connexion_conteneur").css("left", ((coBox.windowW()-coBox.widthD)/2)+"px");
  • $("#connexion_conteneur").css("top", (coBox.scrollY()+(coBox.windowH()-coBox.heightD)/2)+"px");
  • $("#connexion_close").hide();
  • // Code Formulaire;
  • $("#connexion_contenu").append('<fieldset id="connexion_form" style="display:block;"><legend>Authentification</legend><form action="'+coBox.lien+'" methode="post" id="connexions_form" style="width:50%;float:left;"><label>Pseudo :</label><input type="text" name="pseudo" id="pseudo_form" value=""/><label>Password :</label><input type="password" name="password" id="password_form" value="" /><br /><br /><input type="submit" value="connexion" id="connexion_button" /></form> </fieldset>');
  • $("#connexion_form").hide();
  • // Animation;
  • $("#connexion_contenu").css("opacity",0.8);
  • $("#connexion_conteneur").animate({height:coBox.heightD},coBox.dure).animate({width:coBox.widthD}, coBox.dure, 'linear', function(){
  • $("#connexion_close").fadeIn();
  • $("#connexion_form").fadeIn();
  • });
  • //$("#connexion_close").show();
  • },
  • // On efface le code genere;
  • close : function(){
  • $("#connexion_box").fadeOut(coBox.dure, function(){
  • $("#connexion_box").remove();
  • document.location.href=coBox.redirection;
  • });
  • },
  • vForm : function(){
  • // Supression de la div rajouter en cas d'echec de login;
  • $("#connexion_print").remove();
  • // Quelques test sur "l'integritées des champs;
  • coBox.champ1 = false;
  • coBox.champ2 = false;
  • if($("input[id='pseudo_form']").val() != "" && $("input[id='pseudo_form']").val().length >= 3) {
  • coBox.champ1 = true;
  • $("input[id='pseudo_form']").css("background", "green");
  • }
  • if($("input[id='password_form']").val() != "" && $("input[id='password_form']").val().length >= 3) {
  • coBox.champ2 = true;
  • $("input[id='password_form']").css("background", "green");
  • }
  • if( coBox.champ1 == true && coBox.champ2 == true)
  • {
  • // Requete Ajax;
  • $.post( coBox.lien,
  • $("#connexions_form").serialize(), function(data){
  • if(data == "false"){
  • $("#connexion_form").append("<div id='connexion_print' style='float:right;'><font color=red> Mauvais login ou mot de passe !</font></div>");
  • }
  • else{
  • $("#connexion_form").append("<div id='connexion_print' style='float:right;'><font color=green> Connexion effectué avec succé ! </font></div>");
  • setInterval(function(){
  • setInterval(coBox.close(), 4500);
  • }, 5000);
  • }
  • });
  • }
  • else {
  • if ( coBox.champ1 == false) {
  • $("input[id='pseudo_form']").css("background", "red");
  • }
  • if (coBox.champ2 == false) {
  • $("input[id='password_form']").css("background", "red");
  • }
  • }
  • return false;
  • },
  • // Recupere la "hauteur" de la scrollbar;
  • scrollY : function() {
  • scrOfY = 0;
  • if( typeof( window.pageYOffset ) == 'number' ) {
  • //Netscape compliant;
  • scrOfY = window.pageYOffset;
  • } else if( document.body && ( document.body.scrollTop ) ) {
  • //DOM compliant;
  • scrOfY = document.body.scrollTop;
  • } else if( document.documentElement && ( document.documentElement.scrollTop ) ) {
  • //IE6 standards compliant mode;
  • scrOfY = document.documentElement.scrollTop;
  • }
  • return scrOfY;
  • alert(scrOfY);
  • },
  • // Recupere la hauteur de la fenetre;
  • windowH : function(){
  • if (window.innerHeight) return window.innerHeight ;
  • else{return $(window).height();}
  • },
  • // recupere la Largeur de la fenetre;
  • windowW : function(){
  • if (window.innerWidth) return window.innerWidth ;
  • else{return $(window).width();}
  • }
  • }
/* ------------------------------------------------------------------------
	Class: ConnexionBox
	Auteur: Nementon (http://www.uwht.u7n.org || http://uwht.fr)
	Version: 1.0.0
	
	Html Box: 
	<div id="connexion_box">
		<div id="connexion_aplat">
		</div>
		<div id="connexion_conteneur">
			<div id="connexion_relative">
				<div id="connexion_close">
				</div>
				<div id="connexion_contenu">
				</div>
			</div>
		</div>
	</div>

	Html Form:
	<fieldset><legend>Authentification</legend></fieldset>	
		<form action="'+coBox.lien+'" methode="post" id="connexion_form">
			<label>Pseudo :</label>
				<input type="text" name="pseudo" id="connexion_form" />
			<label>Password :</label>
				<input type="password" name="password" id="connexion_form" /><br />
			<input type="submit" value="connexion" id="connexion_button/>
		</form>
		<div id="connexion_loader">
		</div>
	</fieldset>
 
------------------------------------------------------------------------- */

$(document).ready(function(){
	coBox.init();
});
coBox = {
	// Configure la boite;
	/////////////////
		init : function(){
			// Declarations des atribut par default;
			coBox.heightD     = 200; // Hauteur default;
			coBox.widthD      = 350; // Largeur default;
			coBox.dure        = 500; // Dure des animation par default (ms);
			coBox.opacity     = 0.7; // Opacite de l'aplat;
			coBox.redirection = "index.php" // Url de redirection apres login;
			
			$("a[rel='connexion']").click(function(){
				coBox.lien = $(this).attr("href"); // Lien vers le script php de connexion;

				//Code Html Box;
				$('body').append('<div id="connexion_box"><div id="connexion_aplat"></div><div id="connexion_conteneur"><div id="connexion_relative"><div id="connexion_close"></div><div id="connexion_contenu"></div><div id="connexion_loader"></div></div></div></div>');
				$("#connexion_conteneur").hide();
				$("#connexion_aplat").css("opacity",0).fadeTo(coBox.dure, coBox.opacity);
				coBox.anim();
				
				//Verif !empty puis ajax;
				$("form").submit(coBox.vForm);
				 
				// Loader Ajax;		
				$("#connexion_loader").ajaxStart(function(){ $(this).show(); });
				$("#connexion_loader").ajaxStop(function(){ $(this).hide(); });
				// Fermeture de la box;
				$("#connexion_close").click(coBox.close);
				$("#connexion_aplat").click(coBox.close);
				return false;
			});
	},
		
		anim : function() {
			// On commence par cacher tous le contenu;
			$("#connexion_conteneur").show();
			$("#connexion_loader").hide();
			// On Centre la box;
			$("#connexion_conteneur").css("left", ((coBox.windowW()-coBox.widthD)/2)+"px");
			$("#connexion_conteneur").css("top", (coBox.scrollY()+(coBox.windowH()-coBox.heightD)/2)+"px");
			$("#connexion_close").hide();
			// Code Formulaire;
			$("#connexion_contenu").append('<fieldset id="connexion_form" style="display:block;"><legend>Authentification</legend><form action="'+coBox.lien+'" methode="post" id="connexions_form" style="width:50%;float:left;"><label>Pseudo :</label><input type="text" name="pseudo" id="pseudo_form" value=""/><label>Password :</label><input type="password" name="password" id="password_form" value="" /><br /><br /><input type="submit"  value="connexion" id="connexion_button" /></form>  </fieldset>');

			$("#connexion_form").hide();
			// Animation;
			$("#connexion_contenu").css("opacity",0.8);
			$("#connexion_conteneur").animate({height:coBox.heightD},coBox.dure).animate({width:coBox.widthD}, coBox.dure, 'linear', function(){
				$("#connexion_close").fadeIn();
				$("#connexion_form").fadeIn();
			});
			//$("#connexion_close").show();
			
		},
		
		// On efface le code genere;
		close : function(){
			$("#connexion_box").fadeOut(coBox.dure, function(){
				$("#connexion_box").remove();
				document.location.href=coBox.redirection;
			});
		},
		
		vForm : function(){ 
			// Supression de la div rajouter en cas d'echec de login;
			$("#connexion_print").remove();
			
			// Quelques test sur "l'integritées des champs;
			coBox.champ1 = false;
			coBox.champ2 = false;
			if($("input[id='pseudo_form']").val() != "" && $("input[id='pseudo_form']").val().length >= 3) {
				 coBox.champ1 = true;
				$("input[id='pseudo_form']").css("background", "green");
			}
			if($("input[id='password_form']").val() != "" && $("input[id='password_form']").val().length >= 3) {
				coBox.champ2 = true;
				$("input[id='password_form']").css("background", "green");
			}
			if( coBox.champ1 == true && coBox.champ2 == true)
			{
				// Requete Ajax;
				$.post( coBox.lien,
					$("#connexions_form").serialize(), function(data){
						if(data == "false"){
							$("#connexion_form").append("<div id='connexion_print' style='float:right;'><font color=red> Mauvais login ou mot de passe !</font></div>");
						}
						else{
							$("#connexion_form").append("<div id='connexion_print' style='float:right;'><font color=green> Connexion effectué avec succé ! </font></div>");
							setInterval(function(){
								setInterval(coBox.close(), 4500);
							}, 5000);
						}
					});
		

				
			}
			else {
				if ( coBox.champ1 == false) {
					$("input[id='pseudo_form']").css("background", "red");
				}
				if (coBox.champ2 == false) {
					$("input[id='password_form']").css("background", "red");
				}
			}
			return false;
			
			
		},
		
		// Recupere la "hauteur" de la scrollbar;
		scrollY : function() {
		  scrOfY = 0;
		  if( typeof( window.pageYOffset ) == 'number' ) {
			//Netscape compliant;
			scrOfY = window.pageYOffset;
		  } else if( document.body && ( document.body.scrollTop ) ) {
			//DOM compliant;
			scrOfY = document.body.scrollTop;
		  } else if( document.documentElement && ( document.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode;
			scrOfY = document.documentElement.scrollTop;
		  }
		  return scrOfY;
		  alert(scrOfY);
		},
		
		// Recupere la hauteur de la fenetre;
		windowH : function(){
			if (window.innerHeight) return window.innerHeight  ;
			else{return $(window).height();}
		},
		
		// recupere la Largeur de la fenetre;
		windowW : function(){
			if (window.innerWidth) return window.innerWidth  ;
			else{return $(window).width();}
		}	

	}

 Conclusion

C'est mon 1er script sous JQuery, n'hésitez pas a donner vos avis (bon ou mauvais, je suis preneur !)

Ps : L'envoie de l'archive semble bugger ce soir, je poste le code source du fichier javascript et retenterai d'uploder l'archive d'ici peu

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

29 août 2009 04:59:47 :
- Ajout du zip
29 août 2009 14:21:43 :
- Correction du bug Opera (champ de de formulaire incomplet), Bug ie toujours persistant
29 août 2009 23:38:52 :
MAJ
17 septembre 2009 18:12:44 :
- Bug IE fixed (Merci à xactise)
18 octobre 2009 00:55:31 :
MAJ

 Sources du même auteur

Source avec Zip Source avec une capture DEMINEUR JAVACSCRIPT | PHP, CONFIGURABLE AVEC LE FRAMWORK JQ...

 Sources de la même categorie

Source avec Zip Source avec une capture POSMOUSE - AFFICHAGE DES COORDONNÉES DE LA SOURIS, TAILLE DE... par phidelum
SFR WIDGET ET JQUERY par hhoareau
Source avec Zip JOLIE ALERTE AVEC "ALERT()" par heycraft
Source avec Zip Source avec une capture FENETRE D'ACTUALITE par kazma
Source avec Zip Source avec une capture FENETRE DE LOGIN par kazma

Commentaires et avis

Commentaire de kazma le 29/08/2009 12:38:01 administrateur CS

bonjour

sa ne fonctionne pas sur IE ,sous chrome l'image de fond ainsi que le bouton le texte et la croix n'apparaissent pas et sur opera le fond est decale et le bouton n'apparait pas il n'y a que sur ff que sa fonctionne bien

Commentaire de Nementon le 29/08/2009 13:26:18

Effectivement ... je n'avais pas vus ca .. --"
Merci de l'avoir signaler, je vais voir comment régler ceci ! :)

Commentaire de Nementon le 29/08/2009 14:27:23

Voila, bugs sous Opera et chrome fixés et réglés, mais malheuresement j'ai bien du mal a trouver une explication a celui de IE, donc si quelqu'un a une idée, n'hésitez pas !

Commentaire de Vavavlp le 30/08/2009 10:04:27

J'ai pas tester ta source mais j'avais eu des problèmes avec jquery et IE, il faut que le doctype de la page soit en xHTML.

Commentaire de jdmcreator le 30/08/2009 19:29:38

Utilise la console d'erreur d'IE que tu peux télécharger sur le site de Microsoft pour trouver l'erreur ;) mais j'ai perdu le lien...

JDMCreator

Commentaire de Nementon le 30/08/2009 20:38:29

Oui la développer toolbar, j'ai fait deux même, mais c'est ca le hic, il ne m'indique aucune erreur lorsque je lance un débogage du script, juste, incompréhensible Oo

Commentaire de vincent7766 le 31/08/2009 02:42:41 1/10

Il faut tourjours faire la vérification que tout fonctionne sur IE6, IE7, IE8 et Firefox avant de poster un tutorial ou d'envoyer un fichier en ligne c'est la base de l'intégration! Voici un lien qui pourra surement t'aider à faire tes vérifications -> http://www.my-debugbar.com/wiki/IETester/HomePage

Bonne continuation !

Commentaire de Nementon le 31/08/2009 14:28:49

Et bien il me faut l'avouer, utilisant JQuery, je ne me suis pas du tous posé la question et lui est fait une aveugle confiance au niveau de la compatibilité entre navigateur (Un des grands intérêts des framwork selon moi), merci pour le soft, mais étrangement  tous comme la  développeur toolbar de IE, il ne détecte aucune erreur dans mon script ce qui me laisse encore plus perplexe ...
Ce qui est d'autant plus étrange, est bien que sous chrome, Firefox opéra, aol ou autre, je ne rencontre aucun problèmes ...

Par contre je trouve ton jugement un peu sévère envers mon script, certes ce fut une belle erreur de tous miser sur JQuery, mais de la a noter mon script comme archi-nul ... enfin bon.

Quand a mon tutoriel, il porte sur ce script ainsi que sur une petite initiation a Jquery, donc que celui la rencontre quelques problème sous ie n'entrave en rien son utilité (Et en plus, ce bug incompréhensible est bien précisé) je veut entendre par la que tu porte un jugement globale sur mon travaille sans l'avoir exploré de fond en comble (;

Bref, je m'en vais continuer a traqué ce foutu bogue ! :fou:

Commentaire de Cil20 le 31/08/2009 20:03:06 10/10

Et bien moi je prend et je dis un grand merci pour cette source que je note 10. Je m'intéresse à jquery depuis peu et ta source sera parfaite pour moi, en espérant tout comprendre, et parceque personnellement je n'utilise pas ie et, en ce qui me concerne, ie ne merite pas qu'on s'arrache la tête à trouver des bugs alors que ca fonctionne toujours sous Firefox.

Bon boulot !

Commentaire de xactise le 16/09/2009 17:30:14

Je n'arrive pas a résoudre le BUG sous MSIE, après quelque recherche sur le site jquery il y aurait des problème avec cette fonction, mais bon j'en doute (le ticket du bug n'a toujours pas été traité) : http://dev.jquery.com/ticket/5177

Je cherche encore et toujours je ne trouve rien, si jamais vous avez des solutions de votre coté je suis prenneur,

PLEASE UP BUG MSIE !

D'avance merci

Commentaire de xactise le 16/09/2009 18:07:23

J'AI TROUVER !!!!!!!!
SA FAIT PLAISIR !!!! ;)

Merci de corriger ta source j'explique :

$('body').append('<div id="connexion_box"><div id="connexion_aplat"></div><div id="connexion_conteneur"><div id="connexion_relative"><div id="connexion_close"></div><div id="connexion_contenu"></div><div id="connexion_loader"></div></div></div></div></div>');


Tu ouvre 7 div et tu en ferme 8 tous simplement (enfin simplement entre " " j'ai quand même mis assez longtemp avant de trouver, moi qui penser que sa vener de JQUERY !

Voila Merci de bien vouloir corriger pour les autres

Commentaire de Nementon le 17/09/2009 18:13:20

Aaah, merci beaucoup ! Source mise a jour.

Commentaire de lanner le 30/09/2009 22:48:18 7/10

Salut

ajaPopin.php

debut du fichier : <?phpa

Normal ? ^^

Commentaire de bobeclair le 29/11/2009 01:44:03

bonjour,
je trouve le commentaire acerbe injustifié et de mauvaise foi : tu as le mérite de poster du code propre et expliqué, ce qui n'est pas toujours le cas.
Bon boulot !!!!

Commentaire de Nementon le 08/12/2009 01:08:12

Merci du compliment, mais pour le commentaire de Lanner, il n'était pas si méchant que ca ; )
Bon par contre c'est unê source, donc qui dis source ... dis l'obligation presque certaine de la trifouiller, alors, comme la facilité est loin d'être une bonne amie, j'invite tous les membres intéressés par la chose, a se faire violence et à rectifier ma petite erreur de syntaxe par eut même (Héhé, merci la facilité).

Commentaire de bobeclair le 07/03/2010 12:59:23

bonjour,

j'avais trouvé une erreur concernant l'apparence du formulaire lorsque le login n'était pas correct.
Tu as fait une condition qui n'est pas exacte en ligne 119 du fichier js : if(data == "false")
Ta condition porte sur la valeur d'un string alors qu'elle devrait porter sur la valeur d'un booléen, ce qui fait que l'erreur n'est pas correctement traitée en cas de mauvais login.
en enlevant les guillemets ça fonctionne ;-)...parole de testeur

Commentaire de delsuza le 02/06/2010 17:23:41

ligne 126. du js

#  setInterval(function(){
# setInterval(coBox.close(), 4500);
# }, 5000);

par

var interval = setInterval(function(){

setInterval(coBox.close(), clearInterval(interval));

}, 5000);

si on lance plusieurs fois la box après avoir cliqué sur envoyer (qui renvoi sur la même page sans être rafraichie et sans le php), l'intervalle est plus court ;)  

un petit clearInterval ne fait pas de mal ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Impossible d'utiliser zoombox avec un défilement horizontal ?! [ par mllesam ] Bonjour, Mon site perso est en défilement horizontal genre avec highslide (ex : [url="http://deanoakley.com/"]http://deanoakley.com/[/url])Le problém


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,493 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales