begin process at 2012 05 28 12:51:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CENTRAGE D'IMAGE AVEC PETIT EFFET

CENTRAGE D'IMAGE AVEC PETIT EFFET


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Classé sous :diaporama, image, photo, lightbox, zoom Niveau :Débutant Date de création :29/04/2011 Date de mise à jour :12/06/2011 20:34:53 Vu / téléchargé :4 002 / 812

Auteur : kazma

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

 Description

Cliquez pour voir la capture en taille normale
source inspiré par la précédente on clic sur une image et elle part de son point d'origine pour arriver au centre de la page

et un petit ajout de dernière minute l'image effectue une rotation durant l'animation qui ne sera visible que par les navigateurs supportant les transformations du css3 firefox opera chrome et safari

Source

  • //-------------------------------------------------------------
  • // Nom Document : kcentre
  • // Auteur : kazma (Kamel.A)
  • // Objet : cemage http://www.javascriptfr.com/
  • // Création : 28.04.2011
  • //-------------------------------------------------------------
  • // Mise à Jour : 00.00.2011
  • // Objet : neant
  • //-------------------------------------------------------------
  • //-(*)------------------
  • var kcentre={
  • finileft:0,
  • finitop:0,
  • ratiow:0,
  • ratioh:0,
  • rota:0,
  • rota2:0,
  • divim:'null',
  • dde:document.documentElement,
  • cloclo:function(lui){
  • if(kcentre.divim!='null'){
  • kcentre.divim.parentNode.removeChild(kcentre.divim);
  • }
  • var le_clone=lui.cloneNode(true);
  • le_clone.style.position='absolute';
  • le_clone.style.opacity=0;
  • le_clone.style.borderStyle='solid';
  • le_clone.style.borderWidth =1+'px';
  • le_clone.style.borderColor='white';
  • le_clone.style.zIndex=kcentre.zidex();
  • kcentre.divim=document.body.appendChild(le_clone);
  • kcentre.taille();
  • },
  • taille:function(){
  • var ddn=(navigator.vendor) ? document.body : document.documentElement;
  • var tailleh=kcentre.divim.offsetHeight;
  • var taillew=kcentre.divim.offsetWidth;
  • var fenetreh=kcentre.dde.clientHeight/100*50
  • kcentre.finitop=Math.round((kcentre.dde.clientHeight/2)-(fenetreh/2))+ddn.scrollTop;
  • kcentre.finileft=Math.round((kcentre.dde.clientWidth/2)-((taillew/tailleh)*(fenetreh/2)))+ddn.scrollLeft;
  • kcentre.ratioh=(kcentre.finitop-kcentre.divim.offsetTop)/10;
  • kcentre.ratiow=(kcentre.finileft-kcentre.divim.offsetLeft)/10;
  • kcentre.taillehra=(fenetreh-tailleh)/10;
  • kcentre.taillewra=Math.round((((taillew/tailleh)*fenetreh)-taillew)/10);
  • kcentre.rota=360/10
  • if(kcentre.ratiow < 1 && kcentre.ratiow > 0){
  • kcentre.ratiow=1;
  • }
  • if(kcentre.ratiow > -1 && kcentre.ratiow < 0){
  • kcentre.ratiow=-1;
  • }
  • if(kcentre.ratioh < 1 && kcentre.ratioh > 0){
  • kcentre.ratioh=1;
  • }
  • if(kcentre.ratioh > -1 && kcentre.ratioh < 0){
  • kcentre.ratioh=-1;
  • }
  • kcentre.carre();
  • },
  • carre:function(){
  • if(kcentre.ratioh>0){
  • if(kcentre.divim.offsetTop+Math.round(kcentre.ratioh)>kcentre.finitop){
  • kcentre.divim.style.top=kcentre.finitop+'px';
  • }
  • }
  • if(kcentre.ratioh<0){
  • if(kcentre.divim.offsetTop+Math.round(kcentre.ratioh)<kcentre.finitop){
  • kcentre.divim.style.top=kcentre.finitop+'px';
  • }
  • }
  • if(kcentre.ratiow>0){
  • if(kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)>kcentre.finileft){
  • kcentre.divim.style.left=kcentre.finileft+'px';
  • }
  • }
  • if(kcentre.ratiow<0){
  • if(kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)<kcentre.finileft){
  • kcentre.divim.style.left=kcentre.finileft+'px';
  • }
  • }
  • kcentre.divim.style.height=kcentre.divim.offsetHeight+kcentre.taillehra+'px';
  • kcentre.divim.style.width=kcentre.divim.offsetWidth+kcentre.taillewra+'px';
  • kcentre.divim.style.MozTransform='rotate('+kcentre.rota2+'deg)';
  • kcentre.divim.style.WebkitTransform='rotate('+kcentre.rota2+'deg)';
  • kcentre.divim.style.OTransform='rotate('+kcentre.rota2+'deg)';
  • kcentre.divim.style.transform='rotate('+kcentre.rota2+'deg)';
  • kcentre.rota2+=kcentre.rota;
  • if(kcentre.divim.offsetTop!=kcentre.finitop){
  • kcentre.divim.style.top=kcentre.divim.offsetTop+Math.round(kcentre.ratioh)+'px';
  • }
  • if(kcentre.divim.offsetLeft!=kcentre.finileft){
  • kcentre.divim.style.left=kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)+'px';
  • }
  • if(parseInt(navigator.userAgent.substring(30,31))<=8){
  • kcentre.divim.style.filter = 'alpha(opacity=60)';
  • }
  • else{
  • kcentre.divim.style.opacity=(kcentre.divim.style.opacity*100+10)/100;
  • }
  • if(kcentre.divim.offsetLeft==kcentre.finileft || kcentre.divim.offsetTop==kcentre.finiTop){
  • if(document.all && !window.opera){
  • kcentre.divim.style.filter = 'alpha(opacity=100)';
  • }
  • else{
  • kcentre.divim.style.opacity=1;
  • }
  • kcentre.divim.style.MozTransform='rotate(0deg)';
  • kcentre.divim.style.WebkitTransform='rotate(0deg)';
  • kcentre.divim.style.OTransform='rotate(0deg)';
  • kcentre.divim.style.transform='rotate(0deg)';
  • kcentre.divim.onclick=kcentre.quit;
  • kcentre.rota2=0;
  • return false;
  • }
  • setTimeout(kcentre.carre,30);
  • },
  • quit:function(){
  • if(kcentre.divim != 'null'){
  • document.body.removeChild(kcentre.divim);
  • kcentre.divim='null';
  • }
  • },
  • zidex:function (){
  • var allElements = document.getElementsByTagName('*');
  • var vaval=0;
  • var vaz=0;
  • for (var i = 0; i< allElements.length; i++){
  • if(allElements[i].parentNode==document.body){
  • vaz =parseInt(navigator.appName.substring(0,5)=="Micro" ? allElements[i].currentStyle.zIndex : getComputedStyle(allElements[i],null).getPropertyValue('z-index'));
  • if(vaz>vaval){
  • vaval=vaz;
  • }
  • }
  • }
  • return vaval+1
  • }
  • }
//-------------------------------------------------------------
//  Nom Document : kcentre
//  Auteur       : kazma (Kamel.A)
//  Objet        : cemage   http://www.javascriptfr.com/
//  Création     : 28.04.2011
//-------------------------------------------------------------
//  Mise à Jour  : 00.00.2011
//  Objet        : neant
//-------------------------------------------------------------
//-(*)------------------

var kcentre={

finileft:0,
finitop:0,
ratiow:0,
ratioh:0,
rota:0,
rota2:0,
divim:'null',
dde:document.documentElement,

cloclo:function(lui){

		if(kcentre.divim!='null'){
		kcentre.divim.parentNode.removeChild(kcentre.divim);
		}
		var le_clone=lui.cloneNode(true);
		le_clone.style.position='absolute';
		le_clone.style.opacity=0;
		le_clone.style.borderStyle='solid';
		le_clone.style.borderWidth =1+'px';
		le_clone.style.borderColor='white';
		le_clone.style.zIndex=kcentre.zidex();
		kcentre.divim=document.body.appendChild(le_clone);
		kcentre.taille();
	},


taille:function(){

		var ddn=(navigator.vendor) ? document.body : document.documentElement;

		var tailleh=kcentre.divim.offsetHeight;
		var taillew=kcentre.divim.offsetWidth;
		var fenetreh=kcentre.dde.clientHeight/100*50
				
		kcentre.finitop=Math.round((kcentre.dde.clientHeight/2)-(fenetreh/2))+ddn.scrollTop;
		kcentre.finileft=Math.round((kcentre.dde.clientWidth/2)-((taillew/tailleh)*(fenetreh/2)))+ddn.scrollLeft;
		kcentre.ratioh=(kcentre.finitop-kcentre.divim.offsetTop)/10;
		kcentre.ratiow=(kcentre.finileft-kcentre.divim.offsetLeft)/10;
		kcentre.taillehra=(fenetreh-tailleh)/10;
		kcentre.taillewra=Math.round((((taillew/tailleh)*fenetreh)-taillew)/10);
		kcentre.rota=360/10
		
		if(kcentre.ratiow < 1 && kcentre.ratiow > 0){
			kcentre.ratiow=1;
		}
		if(kcentre.ratiow > -1 && kcentre.ratiow < 0){
			kcentre.ratiow=-1;
		}
		if(kcentre.ratioh < 1 && kcentre.ratioh > 0){
			kcentre.ratioh=1;
		}
		if(kcentre.ratioh > -1 && kcentre.ratioh < 0){
			kcentre.ratioh=-1;
		}
		kcentre.carre();
	},


carre:function(){

		if(kcentre.ratioh>0){
			if(kcentre.divim.offsetTop+Math.round(kcentre.ratioh)>kcentre.finitop){
				kcentre.divim.style.top=kcentre.finitop+'px';
			}
		}
		if(kcentre.ratioh<0){
			if(kcentre.divim.offsetTop+Math.round(kcentre.ratioh)<kcentre.finitop){
				kcentre.divim.style.top=kcentre.finitop+'px';
			}
		}
		
		if(kcentre.ratiow>0){
			if(kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)>kcentre.finileft){
				kcentre.divim.style.left=kcentre.finileft+'px';
			}
		}
		if(kcentre.ratiow<0){
			if(kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)<kcentre.finileft){
				kcentre.divim.style.left=kcentre.finileft+'px';
			}
		}
		
		kcentre.divim.style.height=kcentre.divim.offsetHeight+kcentre.taillehra+'px';
		kcentre.divim.style.width=kcentre.divim.offsetWidth+kcentre.taillewra+'px';
		kcentre.divim.style.MozTransform='rotate('+kcentre.rota2+'deg)';
		kcentre.divim.style.WebkitTransform='rotate('+kcentre.rota2+'deg)';
		kcentre.divim.style.OTransform='rotate('+kcentre.rota2+'deg)';
		kcentre.divim.style.transform='rotate('+kcentre.rota2+'deg)';
		kcentre.rota2+=kcentre.rota;
		
		if(kcentre.divim.offsetTop!=kcentre.finitop){
			
			kcentre.divim.style.top=kcentre.divim.offsetTop+Math.round(kcentre.ratioh)+'px';
		}
		
		if(kcentre.divim.offsetLeft!=kcentre.finileft){
			
			kcentre.divim.style.left=kcentre.divim.offsetLeft+Math.round(kcentre.ratiow)+'px';
		}
		
		if(parseInt(navigator.userAgent.substring(30,31))<=8){
			kcentre.divim.style.filter = 'alpha(opacity=60)';
		} 
		else{
			kcentre.divim.style.opacity=(kcentre.divim.style.opacity*100+10)/100;
		}
				
		if(kcentre.divim.offsetLeft==kcentre.finileft || kcentre.divim.offsetTop==kcentre.finiTop){
			
			if(document.all && !window.opera){
				kcentre.divim.style.filter = 'alpha(opacity=100)';
			} 
			else{
				kcentre.divim.style.opacity=1;
			}
			kcentre.divim.style.MozTransform='rotate(0deg)';
			kcentre.divim.style.WebkitTransform='rotate(0deg)';
			kcentre.divim.style.OTransform='rotate(0deg)';
			kcentre.divim.style.transform='rotate(0deg)';
			kcentre.divim.onclick=kcentre.quit;
			kcentre.rota2=0;
			return false;
		}
		
		setTimeout(kcentre.carre,30);
	},


quit:function(){
		if(kcentre.divim != 'null'){
			document.body.removeChild(kcentre.divim);
			kcentre.divim='null';
		}
	},
	

zidex:function (){
		var allElements = document.getElementsByTagName('*');
		var vaval=0;
		var vaz=0;
		for (var i = 0; i< allElements.length; i++){
			if(allElements[i].parentNode==document.body){
				vaz =parseInt(navigator.appName.substring(0,5)=="Micro" ? allElements[i].currentStyle.zIndex : getComputedStyle(allElements[i],null).getPropertyValue('z-index'));
				if(vaz>vaval){
					vaval=vaz;
				}
			}
		}
		return vaval+1
	}
}

 Conclusion

ouille

 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

01 mai 2011 21:13:14 :
ajout de la rotation de l'image
02 mai 2011 11:54:54 :
redimensionnement automatique de l'image en fonction de la résolution écran
12 juin 2011 20:34:54 :
redefinition du mode de calcul

 Sources du même auteur

Source avec Zip Source avec une capture BOUTON ROTATIF
Source avec Zip Source avec une capture EFFET DE ROTATION A 360° D'IMAGE AVEC ACCELERATION DECELERAT...
Source avec Zip Source avec une capture PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVAS
Source avec Zip Source avec une capture DRAG & DROP VERS UN CANVAS
Source avec Zip Source avec une capture DIAPO EN CSS 3D

 Sources de la même categorie

Source avec Zip JDMATH-MINI.JS : GÉNÉRATION D'EXPRESSION MATHÉMATIQUE par jdmcreator
Source avec une capture SPHERE 3D DÉFORMABLE par phm
Source avec Zip Source avec une capture EFFET DE ROTATION A 360° D'IMAGE AVEC ACCELERATION DECELERAT... par kazma
Source avec Zip Source avec une capture PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVAS par kazma
Source avec Zip Source avec une capture CALCULATRICE HEURE par m22001111

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LIGHTBOX DIAPORAMA par kazma
Source avec Zip Source avec une capture CAROUSELLE 3D par kazma
Source avec Zip Source avec une capture AFFICHAGE D'IMAGE par kazma
Source avec Zip Source avec une capture LOUPE SUR IMAGE AU PASSAGE DE LA SOURIS ! par adelami
Source avec Zip ZOOM SUR UNE IMAGE par neolien

Commentaires et avis

Commentaire de proftnj le 02/05/2011 22:00:42

Avec IE7, donc sans CSS3, le résultat est quand même intéressant.

Commentaire de kazma le 03/05/2011 16:40:18 administrateur CS

tout a fait disons que de faire une rotation a l'image sa donne un petit effet en plus.

Commentaire de arta le 11/06/2011 16:38:15

Bonjour kazma

Comment faire pour redimensionner l'agrandissement stp !

Commentaire de arta le 11/06/2011 16:52:01

RE

J'ai bien vu qu'en jouant par ici, on agrandit l'image, mais elle est décentrée:
kcentre.taillehra=(fenetreh-tailleh)/5; kcentre.taillewra=Math.round((((taillew/tailleh)*fenetreh)-taillew)/5);

Commentaire de kazma le 12/06/2011 20:40:43 administrateur CS

avant tout retelechaarge le zip car j'ai fait des modifs ensuite pour la taille de l'image il faut modifier la ligne 47 j'ai mis un commentaire

var zoomage=Math.round((kcentre.dde.clientHeight/100*60)/tailleh)

le chiffre 60 c'est la taille que l'image aura par rapport a la fenetre du navigateur en pourcentage il suffit juste de modifier ce chiffre pour modifier la taille de l'image

Commentaire de arta le 13/06/2011 07:11:56

RE

Cest vrai que ça manque de commentaire, tu pourrais en rajouter au moins un ligne 138 : setTimeout(kcentre.carre,30);
C'est la vitesse d'affichage, normale sous IE et en rotation pour les autres.

Pour la position des miniatures, ma foi il reste simplement à faire une feuille de style et choisir parmi toutes les possibilités (perso en menu)

Par contre avant de noter, ce serait sympa et trés utile pour les internautes qui n'ont pas l'habitude, de mettre un bouton de fermeture de l'agrandissement.

Je te remercie kazma.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

script de telechargement d'image ? [ par benoitquintard ] je cherche un script qui puisse faire ceci :quand je passe la sourie sur un lien de photo, je ve que une fenetre de telechargement s'ouvre, et me dema Zoom sur une image en temps réel [ par EnaelHoly ] Salut à tousVoila en fait je me prend la tête sur une broutille certainement. Mon problème c'est que j'aimerai faire un zoom progressif sur une image !!! Défi !!! recherche diaporama [ par tamtamdesign ] Bonjour,je suis nouvelle venue sur ce site (tr&#232;s int&#233;ressant).Voil&#224;, je recherche un script pour mes pages album photos.Mais comme j'ai nombre d'image pour diaporama [ par bosto ] Bonjour,Je suis super d&#233;butant et surtout graphiste pas technicien. Ma question est peut etre tres simple mais je ne trouve pas de reponse sur le ne sais pas par où commencer! [ par unpeuperdu ] bonjour &#224; tous, j'ai un probl&#232;me que j'imagine de d&#233;butant mais je ne sais pas par o&#249; commencer pour le r&#233;gler. c'est, je Zoom sur image au passage dur curseur et affichage dans une même fenêtre [ par amewole ] Voici mon problème :Je dois mettre en place un système d'affichage d'un ensemble de photos (vignettes) rangé dans un tableau html et qui s'affiche une Problème avec les caractères spéciaux ! [ par Ruffneck2045 ] Bonjour, j'ai cr&#233;er un diaporama &#224; l'aide&nbsp;de php &amp; javascript et j'ai un petit probl&#232;me.En cliquant sur une image du diaporama phototeque [ par guycnoel ] bonjour voici une page&nbsp;avec un code hyper simplifi&#233; qui affiche des petites photos (thumbs). quand on clique sur une de ces photos, une fen& Zoom sous Netscape? [ par kimuz ] BonjourPourquoi ce script ne fonctionne pas sous Netscape? &lt;script language="javascript"&gt;&lt;!--<FONT color=#0080 Chargement et redimentionnement image [ par maxinfos ] Bonjour, je suis actuellement en train de faire une page web dans laquelle je met des photos de petites tailles et que lorsque l'on clique dessus, ouv


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,780 sec (4)

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