Accueil > > > ZOOM ZOOM ZOOM
ZOOM ZOOM ZOOM
Information sur la source
Description
on peut - zoomer avec la molette de la souris l'image zoom a l'endroit ou se trouve le pointer de la souris - sélectionner une partie de l'image avec un rectangle clic droit de souris le zoom se fera dans la zone du rectangle - deplacer l'image (drag) clic gauche de la souris - un bouton raz compatible ie 6 a 8 ff opera ..etc
Source
- var tour=3;
- var cz=5
-
- function disableselecte(e){
- return false;
- }
- function enableselecte(e){
- return true;
- }
-
- function souris(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;
- }
-
- (navigator.appName.substring(0,3)=="Net") ? document.documentElement.addEventListener("mousemove", souris, false) : document.documentElement.attachEvent('onmousemove', souris);
-
- function cadrezoom(){
- if(cz==5){
- oper=adi.offsetWidth/adi.offsetHeight;
- px=setX;
- py=setY;
- adi=document.getElementById('divim');
- adi.parentNode.appendChild(document.createElement('div')).setAttribute("id",'cadre');
- cd=document.getElementById('cadre');
- cd.style.position='absolute';
- cd.style.top=setY-adi.parentNode.offsetTop+"px";
- cd.style.left=setX-adi.parentNode.offsetLeft+"px";
- cd.style.height = 10+"px";
- cd.style.width = 10+"px";
- cd.style.minWidth =20+"px";
- cd.style.minHeight =20+"px";
- cd.style.backgroundColor='black';
- if(document.all && !window.opera){
- cd.style.filter = 'alpha(opacity=25)';
- }
- else{
- cd.style.opacity = 0.3;
- }
- cz=0
- cd.setAttribute("onmouseup","tour=2");
- }
- if(tour==2){
- document.onmousedown=enableselecte;
- cz=5;
- bour=(adi.offsetLeft-cd.offsetLeft)/adi.offsetWidth;
- boul=(adi.offsetTop-cd.offsetTop)/adi.offsetHeight;
- adi.style.height=adi.offsetHeight*(adi.parentNode.offsetHeight/cd.offsetHeight)+'px';
- adi.style.width=adi.offsetHeight*oper+'px';
- adi.style.left=bour*adi.offsetWidth+'px';
- adi.style.top=boul*adi.offsetHeight+'px';
- cd.parentNode.removeChild(cd);
- return false;
- }
- cd.style.height = (cd.offsetHeight+(setY-py))+"px";
- cd.style.width = (cd.offsetWidth)+(setX-px)+"px";
- document.onmousedown=disableselecte;
- px=setX;
- py=setY;
- setTimeout(cadrezoom,15);
- }
-
- 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;
- }
- adi=document.getElementById('divim');
- var dirle=(adi.offsetWidth/2)-(setX-(adi.parentNode.offsetLeft+adi.offsetLeft));
- var dirto=(adi.offsetHeight/2)-(setY-(adi.parentNode.offsetTop+adi.offsetTop));
- var lf=adi.offsetWidth;
- var rf=adi.offsetHeight;
- adi.style.width=lf+(lf*val)+'px';
- adi.style.height=rf+(rf*val)+'px';
- adi.style.left=adi.offsetLeft-((adi.offsetWidth-lf)/2)+(dirle*val)+'px';
- adi.style.top=adi.offsetTop-((adi.offsetHeight-rf)/2)+(dirto*val)+'px';
- }
-
- function sp(){
- if(tour==2){
- document.onmousedown=enableselecte;
- tour=3;
- document.getElementById('divim').style.cursor='auto';
- return false;
- }
- if(tour==3){
- px=setX;
- py=setY;
- tour=0;
- adi=document.getElementById('divim');
- }
- adi.style.left=(adi.offsetLeft+setX-px)+'px';
- adi.style.top=(adi.offsetTop+setY-py)+'px';
- document.onmousedown=disableselecte;
- px=setX;
- py=setY;
- setTimeout(sp,10);
- }
-
- function dispatche(evt){
-
- var evt = evt || window.event;
- adi=document.getElementById('divim');
- if(evt.button == 0 || evt.button == 1){
- adi.style.cursor='move';
- sp()
- }
- if(evt.button == 2){
- cz=5
- cadrezoom();
- }
- }
-
- function selecte(ev){
- (navigator.appName.substring(0,3)=="Mic") ? event.returnValue = false : ev.preventDefault();
- }
-
- function raz(){
- adi=document.getElementById('divim');
- oper=adi.offsetWidth/adi.offsetHeight;
- adi.style.height=400+'px';
- adi.style.width=oper*400+'px';
- adi.style.left=((adi.parentNode.offsetWidth-adi.offsetWidth)/2)+'px';
- adi.style.top=((adi.parentNode.offsetHeight-adi.offsetHeight)/2)+'px';
- }
-
- function init(){
- adi=document.getElementById('divim')
- if(navigator.appName.substring(0,5)=="Micro"){
- adi.attachEvent('onmousedown',function(){dispatche(event)});
- adi.attachEvent('onmousewheel',dirizoom);
- adi.attachEvent('onmousewheel', selecte)
- }
- else{
- if (navigator.userAgent.indexOf("Firefox") != -1){
- adi.addEventListener('DOMMouseScroll', dirizoom, false);
- adi.addEventListener("DOMMouseScroll", selecte, false)
- }
- else{
- adi.addEventListener('mousewheel', dirizoom, false);
- adi.addEventListener("mousewheel", selecte, false)
- }
- adi.setAttribute("onmousedown", "dispatche(event)", false)
- }
- }
var tour=3;
var cz=5
function disableselecte(e){
return false;
}
function enableselecte(e){
return true;
}
function souris(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;
}
(navigator.appName.substring(0,3)=="Net") ? document.documentElement.addEventListener("mousemove", souris, false) : document.documentElement.attachEvent('onmousemove', souris);
function cadrezoom(){
if(cz==5){
oper=adi.offsetWidth/adi.offsetHeight;
px=setX;
py=setY;
adi=document.getElementById('divim');
adi.parentNode.appendChild(document.createElement('div')).setAttribute("id",'cadre');
cd=document.getElementById('cadre');
cd.style.position='absolute';
cd.style.top=setY-adi.parentNode.offsetTop+"px";
cd.style.left=setX-adi.parentNode.offsetLeft+"px";
cd.style.height = 10+"px";
cd.style.width = 10+"px";
cd.style.minWidth =20+"px";
cd.style.minHeight =20+"px";
cd.style.backgroundColor='black';
if(document.all && !window.opera){
cd.style.filter = 'alpha(opacity=25)';
}
else{
cd.style.opacity = 0.3;
}
cz=0
cd.setAttribute("onmouseup","tour=2");
}
if(tour==2){
document.onmousedown=enableselecte;
cz=5;
bour=(adi.offsetLeft-cd.offsetLeft)/adi.offsetWidth;
boul=(adi.offsetTop-cd.offsetTop)/adi.offsetHeight;
adi.style.height=adi.offsetHeight*(adi.parentNode.offsetHeight/cd.offsetHeight)+'px';
adi.style.width=adi.offsetHeight*oper+'px';
adi.style.left=bour*adi.offsetWidth+'px';
adi.style.top=boul*adi.offsetHeight+'px';
cd.parentNode.removeChild(cd);
return false;
}
cd.style.height = (cd.offsetHeight+(setY-py))+"px";
cd.style.width = (cd.offsetWidth)+(setX-px)+"px";
document.onmousedown=disableselecte;
px=setX;
py=setY;
setTimeout(cadrezoom,15);
}
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;
}
adi=document.getElementById('divim');
var dirle=(adi.offsetWidth/2)-(setX-(adi.parentNode.offsetLeft+adi.offsetLeft));
var dirto=(adi.offsetHeight/2)-(setY-(adi.parentNode.offsetTop+adi.offsetTop));
var lf=adi.offsetWidth;
var rf=adi.offsetHeight;
adi.style.width=lf+(lf*val)+'px';
adi.style.height=rf+(rf*val)+'px';
adi.style.left=adi.offsetLeft-((adi.offsetWidth-lf)/2)+(dirle*val)+'px';
adi.style.top=adi.offsetTop-((adi.offsetHeight-rf)/2)+(dirto*val)+'px';
}
function sp(){
if(tour==2){
document.onmousedown=enableselecte;
tour=3;
document.getElementById('divim').style.cursor='auto';
return false;
}
if(tour==3){
px=setX;
py=setY;
tour=0;
adi=document.getElementById('divim');
}
adi.style.left=(adi.offsetLeft+setX-px)+'px';
adi.style.top=(adi.offsetTop+setY-py)+'px';
document.onmousedown=disableselecte;
px=setX;
py=setY;
setTimeout(sp,10);
}
function dispatche(evt){
var evt = evt || window.event;
adi=document.getElementById('divim');
if(evt.button == 0 || evt.button == 1){
adi.style.cursor='move';
sp()
}
if(evt.button == 2){
cz=5
cadrezoom();
}
}
function selecte(ev){
(navigator.appName.substring(0,3)=="Mic") ? event.returnValue = false : ev.preventDefault();
}
function raz(){
adi=document.getElementById('divim');
oper=adi.offsetWidth/adi.offsetHeight;
adi.style.height=400+'px';
adi.style.width=oper*400+'px';
adi.style.left=((adi.parentNode.offsetWidth-adi.offsetWidth)/2)+'px';
adi.style.top=((adi.parentNode.offsetHeight-adi.offsetHeight)/2)+'px';
}
function init(){
adi=document.getElementById('divim')
if(navigator.appName.substring(0,5)=="Micro"){
adi.attachEvent('onmousedown',function(){dispatche(event)});
adi.attachEvent('onmousewheel',dirizoom);
adi.attachEvent('onmousewheel', selecte)
}
else{
if (navigator.userAgent.indexOf("Firefox") != -1){
adi.addEventListener('DOMMouseScroll', dirizoom, false);
adi.addEventListener("DOMMouseScroll", selecte, false)
}
else{
adi.addEventListener('mousewheel', dirizoom, false);
adi.addEventListener("mousewheel", selecte, false)
}
adi.setAttribute("onmousedown", "dispatche(event)", false)
}
}
Conclusion
sa maaaarche
Historique
- 22 février 2009 14:18:28 :
- un nouveau bouton pour zoomer par selection d'une zone avec un cardre
- 23 février 2009 16:06:31 :
- corection pour la fonction cadrezoom
- 25 février 2009 16:40:04 :
- rajout dans la fonction dirzoom la possibiliter de zoomer dezoomer et deplacer l'image avec les trois boutons de la sourie
- 10 octobre 2009 17:37:13 :
- utilisation unique de la souris plus optimisation
- 10 octobre 2009 20:25:41 :
- optimisation
- 10 décembre 2009 23:12:35 :
- mis a jour
- 11 août 2010 23:39:22 :
- mise a jour dom pour webkit plus petite mise au propre
Sources du même auteur
Sources de la même categorie
PETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVASPETIT LOGICIEL DE DESSIN, RETOUCHE AVEC CANVASpour cette source j'ai exploiter la balise canvas afin de crée un petit logiciel de dessin je dit petit car il lui manque pas mal de choses le désigne...
par kazma
CALCULATRICE HEURECALCULATRICE HEUREc'est un script en javascript pour afficher l'heure qui s'actualise chaque seconde
est aussi une simple calculatrice en utilisant des images
((pour...
par m22001111
DRAG & DROP VERS UN CANVASDRAG & DROP VERS UN CANVASla source comme son nom l'indique sert a faire du drag & drop d'image vers un canvas
marche avec ie9 firefox chrome safari ...
par kazma
ROTATION D'UNE IMAGE, ANIMATIONROTATION D'UNE IMAGE, ANIMATION Voici un tout petit code qui permet de faire tourner une image en animation.
Depuis quelques années, HTML5 a introduit l'élément "canvas" qui convi...
par william voirol
FRACTALES, FOUGÈRE, TRIANGLE, CARRÉFRACTALES, FOUGÈRE, TRIANGLE, CARRÉ En 1974 (environ), Benoît Mandelbrot a inventé (découvert ?) les objets fractals (ou fractales).
Ce sont ces objets qui présentent une 'même' structu...
par william voirol
Commentaires et avis
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
Zoom sur graphique en javascript ou php [ par nico00 ]
Bonjour à tous j'ai fais un programme qui affiche des signaux en php voici le code: <?php restore_error_handler(); error_reporting(E_ALL & ~E_STRICT);
Ouvrir une image à partir d'une zone cliquable avec un effet de zoom? [ par bahh66 ]
Bonjour, je pose cette question ici mais je ne suis pas sur d'être au bon endroit... Je dois réaliser un cd-rom pour une présentation de musée. J'ai
Zoom A+ et A- IE ou firefox (ctrl + - ou ctrl + -) dans une page web (et idem Volume) [ par thierryd75 ]
Bonjour, Je suis en train de développer un site web et je cherche le moyen d'augmenter le zoom (75 - 100% - 125 %) de ma page via ma page pour la vis
Zoom [ par fuksan ]
Bonjour, J'ai trouvé une multitude de Zoom en cherchant dans le site. Cependant, je n'ai pas réussi à trouver exactement celui que je cherche. En fa
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
[XML/SVG] zoom sur plusieurs éléments [ par BARIS69330 ]
Bonjour, je bosse actuellement sur du svg et il me faut faire un zoom sur plusieurs evenements quand je passe la souris dessus grâce aux fonctions onm
script pour zoom (comme google maps) [ par Rose6 ]
salut, je repose ma question car je n'ai obtenu aucune réponse satisfaisante... connaissez vous un script pour zoomer et se déplacer sur une image (
comportement de google chrome "TRES ETRANGE" [ par WiDOC ]
Bonjour, alors voila j'ai un bug plutôt "hors du commun" je trouve. en fait c'est peut être même pas un bug mais un fonctionnement de google chrome q
Image SVG coupée lors d'un zoom [ par Pitus38 ]
Bonjour à tous, J'ai un petit soucis avec mon image SVG, je gère la fonction mousewheel pour agrandir et réduire en zoomant et dézoomant avec la mole
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|