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
Sources du même auteur
Sources de la même categorie
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
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
Zoom sous Netscape? [ par kimuz ]
BonjourPourquoi ce script ne fonctionne pas sous Netscape? <script language="javascript"><!--<FONT color=#0080
script Zoom image IE firefox [ par tropik99 ]
Bonjour,J'ai trouvé sur le net un javascript qui permet de zoomez et dézoomer sur une image, je l'ai adapté pour le faire fonctionner a
incompatibilité de code [ par J4Gu4R ]
voila j'ai 2 javascript: - l'un pour avoir un titre qui zoom - l'autre pour avoir une phrase qui suit la souris comme il y avait une incompatibilité
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|