begin process at 2012 05 28 07:35:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Effets

 > AFFICHAGE D'IMAGE

AFFICHAGE D'IMAGE


 Information sur la source

Note :
9,25 / 10 - par 4 personnes
9,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Effets Classé sous :zoom, image, voile, diaporama, loupe Niveau :Débutant Date de création :05/10/2009 Date de mise à jour :30/12/2011 12:12:01 Vu / téléchargé :10 321 / 1 137

Auteur : kazma

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

 Description

Cliquez pour voir la capture en taille normale
le script sert a afficher en grand une image avec option de zoom dirigé par rapport au curseur effectue avec la molette de la sourie le clic gauche de la souris sert a deplacer l'image.le plus c'est que la mise en oeuvre du script est simple

Source

  • //-------------------------------------------------------------
  • // Nom Document : voile
  • // Auteur : kazma
  • // Objet : image voile et zoom http://www.javascriptfr.com/
  • // Création : 05.10.2009
  • //-------------------------------------------------------------
  • // Mise à Jour : 00.00.0000
  • // Objet : neant
  • //-------------------------------------------------------------
  • //-(*)------------------
  • var imag = new Image();
  • var bobo=1
  • var hou=0
  • function precharge(ii){
  • if(bobo==1){
  • document.documentElement.lastChild.appendChild(document.createElement('div')).setAttribute("id",'voile');
  • document.documentElement.lastChild.appendChild(document.createElement('img')).setAttribute("id",'imadiv');
  • var imad=document.getElementById('imadiv');
  • imad.src="res/animation.gif";
  • imad.style.position='absolute';
  • imad.style.height=100+"px";
  • sscro()
  • var vo=document.getElementById('voile');
  • vo.style.position='absolute';
  • vo.style.top=0+"px";
  • vo.style.left=0+"px";
  • vo.style.backgroundColor="gray";
  • if(document.all && !window.opera){
  • vo.style.filter = 'alpha(opacity=10)';
  • vo.attachEvent("onclick",quit);
  • window.attachEvent("onresize", sscro);
  • window.attachEvent("onscroll", sscro);
  • }
  • else{
  • vo.style.opacity =0.1;
  • vo.setAttribute("onclick","quit()");
  • window.addEventListener("resize", sscro, false);
  • window.addEventListener("scroll", sscro, false);
  • }
  • imag.src = "images/"+ii+".jpg";
  • var nomima="images/"+ii+".jpg";
  • bobo=2
  • }
  • if(navigator.oscpu||navigator.vendor){
  • imag.onload=function(){
  • voile(nomima)}
  • bobo=1
  • }
  • else{
  • if(imag.complete==true){
  • bobo=1
  • voile(nomima)
  • return false
  • }
  • setTimeout(precharge,100)
  • }
  • }
  • function quit(){
  • if(navigator.appName.substring(0,5)=="Micro"){
  • window.detachEvent("onresize", sscro);
  • window.detachEvent("onscroll", sscro);
  • }
  • else{
  • window.removeEventListener("resize", sscro, false);
  • window.removeEventListener("scroll", sscro, false);
  • }
  • document.getElementById('voile').parentNode.removeChild(document.getElementById('voile'));
  • document.getElementById('imadiv').parentNode.removeChild(document.getElementById('imadiv'));
  • }
  • function sscro(){
  • var dde=document.documentElement;
  • var vo=document.getElementById('voile')
  • var imad=document.getElementById('imadiv')
  • imad.style.left=((dde.clientWidth-imad.offsetWidth)/2)+'px';
  • if(navigator.vendor){
  • imad.style.top=(dde.clientHeight-imad.offsetHeight)/2+dde.lastChild.scrollTop+"px";
  • vo.style.height=dde.clientHeight+dde.lastChild.scrollTop+"px";
  • vo.style.width=dde.clientWidth+dde.lastChild.scrollLeft+"px";
  • }
  • else{
  • imad.style.top=(dde.clientHeight-imad.offsetHeight)/2+dde.scrollTop+"px";
  • vo.style.height=dde.clientHeight+dde.scrollTop+"px";
  • vo.style.width=dde.clientWidth+dde.scrollLeft+"px";
  • }
  • }
  • function voile(noim){
  • var imad=document.getElementById('imadiv');
  • var vo=document.getElementById('voile')
  • if(hou==0){
  • imad.style.filter = 'alpha(opacity=0)';
  • imad.src=noim;
  • imad.style.height=90+"%";
  • }
  • if(hou<1){
  • hou+=0.1
  • sscro()
  • if(document.all && !window.opera){
  • vo.style.filter = 'alpha(opacity='+(hou*50)+')';
  • imad.style.filter = 'alpha(opacity='+(hou*100)+')';
  • }
  • else{
  • vo.style.opacity =hou/2;
  • imad.style.opacity =hou;
  • }
  • setTimeout(voile,1)
  • }
  • else{
  • if(navigator.appName.substring(0,5)=="Micro"){
  • imad.attachEvent('onmousewheel',dirizoom);
  • imad.attachEvent("onmousemove",tarto);
  • imad.attachEvent("oncontextmenu", function(){return false});
  • imad.attachEvent('onmousewheel', selecte)
  • }
  • else{
  • imad.setAttribute("onmousemove","tarto(event)");
  • document.addEventListener("contextmenu", selecte, false)
  • if (navigator.userAgent.indexOf("Firefox") != -1){
  • imad.addEventListener('DOMMouseScroll', dirizoom, false);
  • imad.addEventListener("DOMMouseScroll", selecte, false)
  • }
  • else{
  • imad.addEventListener('mousewheel', dirizoom, false);
  • imad.addEventListener("mousewheel", selecte, false)
  • }
  • }
  • sscro()
  • hou=0
  • }
  • }
  • function tarto(s){
  • var dde=(navigator.vendor) ? document.documentElement.childNodes[1] : document.documentElement;
  • setX =((navigator.appName.substring(0,3)=="Mic") ? event.clientX : s.clientX) + dde.scrollLeft;
  • setY =((navigator.appName.substring(0,3)=="Mic") ? event.clientY : s.clientY) + dde.scrollTop;
  • return false;
  • }
  • function selecte(ev){
  • (navigator.appName.substring(0,3)=="Mic") ? event.returnValue = false : ev.preventDefault();
  • }
  • function dirizoom(e){
  • var delta = 0;
  • if (!e) e = window.event;
  • if (e.wheelDelta) {
  • delta = e.wheelDelta/120;
  • } else if (e.detail) {
  • delta = -e.detail/3;
  • }
  • if(delta<0){
  • val=-0.15;
  • }
  • else{
  • val=0.15;
  • }
  • imad=document.getElementById('imadiv');
  • var dirle=(imad.offsetWidth/2)-(setX-(imad.parentNode.offsetLeft+imad.offsetLeft));
  • var dirto=(imad.offsetHeight/2)-(setY-(imad.parentNode.offsetTop+imad.offsetTop));
  • var lf=imad.offsetWidth;
  • var rf=imad.offsetHeight;
  • imad.style.width=lf+(lf*val)+'px';
  • imad.style.height=rf+(rf*val)+'px';
  • imad.style.left=imad.offsetLeft-((imad.offsetWidth-lf)/2)+(dirle*val)+'px';
  • imad.style.top=imad.offsetTop-((imad.offsetHeight-rf)/2)+(dirto*val)+'px';
  • }
//-------------------------------------------------------------
//  Nom Document : voile
//  Auteur       : kazma
//  Objet        : image voile et zoom   http://www.javascriptfr.com/
//  Création     : 05.10.2009
//-------------------------------------------------------------
//  Mise à Jour  : 00.00.0000
//  Objet        : neant
//-------------------------------------------------------------
//-(*)------------------
var imag = new Image();
var bobo=1
var hou=0
function precharge(ii){

if(bobo==1){
document.documentElement.lastChild.appendChild(document.createElement('div')).setAttribute("id",'voile');
document.documentElement.lastChild.appendChild(document.createElement('img')).setAttribute("id",'imadiv');
var imad=document.getElementById('imadiv');
imad.src="res/animation.gif";
imad.style.position='absolute';
imad.style.height=100+"px";
sscro()
var vo=document.getElementById('voile');
vo.style.position='absolute';
vo.style.top=0+"px";
vo.style.left=0+"px";
vo.style.backgroundColor="gray";
if(document.all && !window.opera){ 
vo.style.filter = 'alpha(opacity=10)';
vo.attachEvent("onclick",quit);
window.attachEvent("onresize", sscro);
window.attachEvent("onscroll", sscro);
} 
else{ 
vo.style.opacity =0.1;
vo.setAttribute("onclick","quit()");
window.addEventListener("resize", sscro, false);
window.addEventListener("scroll", sscro, false);
}
imag.src = "images/"+ii+".jpg";
var nomima="images/"+ii+".jpg";
bobo=2
}

if(navigator.oscpu||navigator.vendor){
imag.onload=function(){
voile(nomima)}
bobo=1
} 
else{
if(imag.complete==true){
bobo=1
voile(nomima)
return false
}
setTimeout(precharge,100)
}
} 

function quit(){

if(navigator.appName.substring(0,5)=="Micro"){
window.detachEvent("onresize", sscro);
window.detachEvent("onscroll", sscro);
}
else{
window.removeEventListener("resize", sscro, false);
window.removeEventListener("scroll", sscro, false);
}
document.getElementById('voile').parentNode.removeChild(document.getElementById('voile'));
document.getElementById('imadiv').parentNode.removeChild(document.getElementById('imadiv'));
}

function sscro(){

var dde=document.documentElement;
var vo=document.getElementById('voile')
var imad=document.getElementById('imadiv')
imad.style.left=((dde.clientWidth-imad.offsetWidth)/2)+'px';
if(navigator.vendor){
imad.style.top=(dde.clientHeight-imad.offsetHeight)/2+dde.lastChild.scrollTop+"px";
vo.style.height=dde.clientHeight+dde.lastChild.scrollTop+"px";
vo.style.width=dde.clientWidth+dde.lastChild.scrollLeft+"px";
} 
else{
imad.style.top=(dde.clientHeight-imad.offsetHeight)/2+dde.scrollTop+"px";
vo.style.height=dde.clientHeight+dde.scrollTop+"px";
vo.style.width=dde.clientWidth+dde.scrollLeft+"px";
}
}

function voile(noim){

var imad=document.getElementById('imadiv');
var vo=document.getElementById('voile')
if(hou==0){
imad.style.filter = 'alpha(opacity=0)';
imad.src=noim;
imad.style.height=90+"%";
} 

if(hou<1){
hou+=0.1
sscro()
if(document.all && !window.opera){
vo.style.filter = 'alpha(opacity='+(hou*50)+')';
imad.style.filter = 'alpha(opacity='+(hou*100)+')';
} 
else{ 
vo.style.opacity =hou/2;
imad.style.opacity =hou;
}
setTimeout(voile,1)
}
else{ 


if(navigator.appName.substring(0,5)=="Micro"){
imad.attachEvent('onmousewheel',dirizoom);
imad.attachEvent("onmousemove",tarto);
imad.attachEvent("oncontextmenu", function(){return false});
imad.attachEvent('onmousewheel', selecte)
}
else{
imad.setAttribute("onmousemove","tarto(event)");
document.addEventListener("contextmenu", selecte, false)

if (navigator.userAgent.indexOf("Firefox") != -1){
imad.addEventListener('DOMMouseScroll', dirizoom, false);
imad.addEventListener("DOMMouseScroll", selecte, false)
}
else{
imad.addEventListener('mousewheel', dirizoom, false);
imad.addEventListener("mousewheel", selecte, false)
}
}
sscro()
hou=0
}
}
function tarto(s){

var dde=(navigator.vendor) ? document.documentElement.childNodes[1] : document.documentElement;
setX =((navigator.appName.substring(0,3)=="Mic") ? event.clientX : s.clientX) + dde.scrollLeft;
setY =((navigator.appName.substring(0,3)=="Mic") ? event.clientY : s.clientY) + dde.scrollTop;
return false;
}

function selecte(ev){
(navigator.appName.substring(0,3)=="Mic") ? event.returnValue = false : ev.preventDefault();
}

function dirizoom(e){
var delta = 0;
if (!e) e = window.event;
if (e.wheelDelta) {
delta = e.wheelDelta/120; 
} else if (e.detail) {
delta = -e.detail/3;
}
if(delta<0){
val=-0.15;
}
else{
val=0.15;
}
imad=document.getElementById('imadiv');
var dirle=(imad.offsetWidth/2)-(setX-(imad.parentNode.offsetLeft+imad.offsetLeft));
var dirto=(imad.offsetHeight/2)-(setY-(imad.parentNode.offsetTop+imad.offsetTop));
var lf=imad.offsetWidth;
var rf=imad.offsetHeight;
imad.style.width=lf+(lf*val)+'px';
imad.style.height=rf+(rf*val)+'px';
imad.style.left=imad.offsetLeft-((imad.offsetWidth-lf)/2)+(dirle*val)+'px';
imad.style.top=imad.offsetTop-((imad.offsetHeight-rf)/2)+(dirto*val)+'px';
}

 Conclusion

ouep

 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

06 octobre 2009 11:20:32 :
ajout d'une fonction drag
08 octobre 2009 11:26:58 :
correction de divers bugs
26 novembre 2009 19:32:40 :
deboguage
12 février 2010 23:33:25 :
debogage
21 juin 2010 16:11:09 :
mise a jour firefox
16 janvier 2011 15:40:07 :
mise a jour chrome plus fonction globale
24 janvier 2011 14:30:34 :
optimisation debogage
30 décembre 2011 12:12:03 :
debogage

 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 Source avec une capture BOUTON ROTATIF par kazma
Source avec Zip Source avec une capture SHOWMAPAREA par phidelum
DHTML IE FILTRE DÉGRADÉ (OUTIL HTML POUR DÉVELOPPEUR) par internetdev
Source avec Zip ANIMATION DU TEXTE par brennal
Source avec Zip Source avec une capture EFFET RAYONS DU SOLEIL par tefa24600

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DIAPORAMA SIMPLE PAR IFRAME par sartoz
Source avec Zip Source avec une capture CENTRAGE D'IMAGE AVEC PETIT EFFET par kazma
Source avec Zip Source avec une capture LIGHTBOX DIAPORAMA par kazma
Source avec Zip Source avec une capture [ZI] ZOOM (LOUPE) SUR IMAGE par Bul3
Source avec Zip Source avec une capture LOUPE SUR IMAGE AU PASSAGE DE LA SOURIS ! par adelami

Commentaires et avis

Commentaire de lakichemole le 06/10/2009 09:45:24 9/10

Nikel :) marche même sous IE6, je vais m'en servir :). Le code est propre même si le fait de passer le nom de l'image et de lui rajouter ".jpg" à la fin en dur me dérange.

Commentaire de kazma le 06/10/2009 19:16:24 administrateur CS

j'ai hésiter pour le .jpg car entre autre sa limite les images a l'extention mais sa reste facilement modifiable

pour faire encore mieux j'ai rajouter la possibilité de déplacer l'image a la souris bouton droit ou gauche

++

Commentaire de lakichemole le 07/10/2009 08:33:08

Oui c'est appréciable en effet :) car en zoomant ça déplaçais l'image, se qui est normal, mais en dé-zoomant on pouvais la perdre sur un des bords :)

Commentaire de sofiane1234 le 07/10/2009 08:59:25

Excellent travail ! Marche bien sous IE6, Mozilla Firefox 2.0 !

Par contre ne fonctionne pas sous IE7,

au premier click sur les petites photos, j'ai bien la loupe mais la photo "grand format" du
sous repertoire /images n'est pas charger.

un petit bug à fixer pour ce WE peut être alors.

Excellente journée.

Commentaire de kazma le 08/10/2009 11:59:34 administrateur CS

j'ai réussi a éliminer le petit défaut sur ie j'en ai profiter pour éliminer d'autres défaut constate
++

Commentaire de labotemplates le 12/10/2009 06:59:46 9/10

Superbe !

Commentaire de levisiteur le 13/10/2009 09:44:24

Excellente réalisation.
Utile et pratique

Commentaire de erwannn le 26/11/2009 18:54:26 9/10

salut, superbe source
juste un bug sous safari, le premier zoom sur l'image marche, par contre si on veut l'afficher une deuxieme fois, le navigateur se "bloque". Je ne vois pas trop d'où ca peut venir. Si quelqu'un peut regarder... merci

Commentaire de kazma le 26/11/2009 19:33:56 administrateur CS

je vient de faire la modif et apres quelles testes sa parait marcher

Commentaire de languill le 15/01/2011 23:07:41

Salut et bravo pour ton script Kazma.
Je l'utilise depuis plus d'un an par contre le reproche que me font les visiteurs de mon site c'est qu'ils ne peuvent enregistrer les photos de leur choix avec "enregistrer l'image sous..." par exemple.

Peut on y remédier?

@+

Commentaire de languill le 15/01/2011 23:53:31

Oops! C'était mon répertoire res qui était modifié. Désolé

Commentaire de joliet le 06/02/2011 15:16:47 10/10

Bonjour,
excellent script ! robuste et efficace, très simple à utiliser et à installer, y compris pour l'illettré javascript que je suis... (3 minutes montre en main) Il me manque juste un détail : comment faire pour ajouter quelques lignes de commentaires texte sous l'image agrandie ? Idéalement, pouvoir insérer un commentaire différent pour chaque image mais déjà s'il y avait un genre de "alt" qui précise à l'internaute qu'il doit cliquer hors de l'image agrandie pour revenir sur la page, ce serait parfait.
Bravo !

Commentaire de hellotk le 30/03/2011 02:07:04

Bonjour,

j'ai une question à propos de ce script, peut-on contraindre le zoom de l'image à ne pas dépasser 100% et le dé-zoom à 50% par exemple ?

Commentaire de hic8716 le 18/07/2011 14:23:15

Bonjour;

Tout d'abord, je tiens à te remercier pour ton script magnifique, je suis débutant en javascript, et je voudrais poser deux questions à propos de ce script d'image
J'ai vu que les fonctions sont déclarées différemment à ce que j'ai pu voir lors de mes recherches sur internet : en effet tu as déclaré par exemple la fonction précharge de la façon suivante :  precharge:function(ii) alors que les tutoriels exige la déclaration suivante function precharge(ii). Est ce normal?
Ma deuxième question est la suivante :Est ce qu'on peut utiliser ce script pour HTML5??

Commentaire de Morocco13 le 29/12/2011 06:29:32

Dommage qu'il ne marche pas sous IE7 & IE8.

J'ai essayé de modifier les "document.all" par "document.getElementbyID" et d'autres, mais en vain :(

Commentaire de kazma le 30/12/2011 12:15:36 administrateur CS

je vient de faire le teste avec ie tester car j'ai ete entonné et il fonctionne bien avec ie 7 et 8 et meme ie 6 ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Zoom genre loupe sur image [ par Annadrill ] Bonjour, voilà, j'essaie de réaliser quelque chose de ce genre http://www.magictoolbox.com/magicmagnify/ mais je ne sais pas par ou commencer, m'y co diaporama automatique avec liens sur chaque image [ par ju1385 ] Bonjour, j'ai ici un script simple de diaporama d'image que j'ai récupéré et qui marche bien. Cependant, je voudrais y modifier/ajouter 2 choses (je n Faire un zoom d'image a l'endroit du curseur [ par YanDerS ] Je cherche depuis un bout de temps a faire un zoom sur une image a l'endroit du curseur avec la roulette de la sourie mon code actuellement me permet Javascript: Zoom avec mini image [ par belllangelo ] Bonjour, Je souhaiterai pouvoir reproduire l'effet de zoom avec mini image proposé à cette adresse: http://www.dakkadakka.com/core/gallery-viewimage. Zoom image [ par etu54 ] Bonjour, De par mes études je suis dans la programmation web depuis 1 an environ. Cependant le javascript m'est encore assez inconnu mis a part les Diaporama image avec fondu enchainé, lien vers page, etdiapo suit scroll de page [ par nonosims ] salut a tous, je viens vous solliciter pour vous expliquer mon problème. Débutant en script, j'essaye de mettre en place, un bandeau vertical à droite ajouter fin sur diaporama [ par jpthali ] Salut à tous, j'ai une petite question concernant l'excellent source [url=http://www.javascriptfr.com/codes/DIAPO-SIMPLE-TOUT-PRET_25617.aspx]de ce d help!Diaporama ou mur d image [ par ameliecuisine ] Bonjour, Voila je voudrais creer un diaporama d'image ou un mur d image avec pour chaque image une legende et un lien vers un site internet . Je voudr pb sur l'utilisation d'un script zoom+loupe sur image [ par ScriWeb ] Bonjour à tous, Je ne connais pas la javascript et j'ai tenté d'utilisé un script pour avoir un effet loupe sur une image : http://www.javascriptfr.c diaporama javascript avec un lien pour chaque image [ par feldrik ] Bonjour, je bute sur un problème depuis des jours, et espère trouver sur ce forum une âme charitable pour me tirer de ce mauvais pas. Je veux faire un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,874 sec (4)

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