5/5 (71 avis)
Vue 28 201 fois - Téléchargée 1 488 fois
<!-- redirection des liens image jpg. Michel Deboom 05/2005 //modifié 01/06 function initLienImg(){ db=!D.documentElement.clientWidth?D.body:D.documentElement //quirk IE6 gdim=D.getElementById('pop'); lx=D.getElementById('tet') addEvent(lx,"mousedown",function(){dx=px-gdim.offsetLeft;dy=py-gdim.offsetTop;drag=1;}) addEvent(lx,"mouseup",function(){drag=0}) addEvent(D,"mousemove",controle_position) //création de l'image im1=D.createElement("img");gdim.appendChild(im1); if(gk)im1.style.marginBottom=-4+"px";//correction Gecko //écriture des évènements l=D.getElementsByTagName('a'); for(var i=0;i<l.length;++i){ //ajoute onclick=grdimg dans les liens image result=l[i].href.search(/.jpg$|.jpeg$|.png$|.gif$/i); if(result!=-1){l[i].onclick=grdimg;} } } function controle_position(e){ sx=gk?pageXOffset:db.scrollLeft; //scroll h sy=gk?pageYOffset:db.scrollTop; //scroll v px=gk?e.pageX:event.clientX+sx; //curseur x py=gk?e.pageY:event.clientY+sy; //curseur y if(drag){with(gdim.style){left=px-dx+"px";top=py-dy+"px"};return false} } // bug ie corrigé : cache les <select> function voirSelect(v){ elem=document.getElementsByTagName('select'); if(!gk){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;} } //Renvoi image et title dans le calque. function grdimg(){ fx=gk?innerWidth-20:db.clientWidth //l fenêtre fy=gk?innerHeight:db.clientHeight //h fenêtre //charge l'image dans le cache du navigateur. im=new Image();im.src=this.href; //la montre. with(gdim.style){display="block";top=sy+2+'px'}; //montre le message d'attente. lx.firstChild.data="patientez svp"; //colore le lien comme visité, récupère le message title this.style.color=D.vlinkColor;txt=this.title; voirSelect('hidden'); //Lance le controle de chargement actif=setTimeout('controleChargement()',100) //désactive l'action normale du lien HTML ;return false } //controle du chargement de l'image function controleChargement(){ clearTimeout(actif); //L'image ne dépasse pas la fenêtre: if(im.width>=fx){im.height*=(fx-20)/im.width;im.width=fx-20;} if(im.height>=fy){im.width*=(fy-30)/im.height;im.height=fy-30;} //relance le contrôle toutes les 100 ms if(im.complete){lx.firstChild.data=txt; with(im1){src=im.src;width=im.width;height=im.height;}; } else actif=setTimeout('controleChargement()',100) } function addEvent(obj,evType,fn,capt){ // ajoute un événement sans écraser l'éxistant. if(obj.addEventListener){obj.addEventListener(evType,fn,capt);return true;} // NS6+ else if(obj.attachEvent)obj.attachEvent("on"+evType,fn) // IE 5+ else {return false;} } // initialisation D=document;gk=window.Event?1:0/*Gecko*/; dx=dy=e=drag=cr=0 // Création de la pseudo-popup : D.write('<div id="pop"><div id="tet">titre<img title=" Fermer " src="img/fermer.gif" onclick="voirSelect(\'visible\');gdim.style.display=\'none\'" /></div></div>'); //addEvent(window,"load",initLienImg) initLienImg() //--> Le style CSS du fichier gim.css : #pop{ /* fausse popup */ position:absolute; left:3px; top:3px; display:none; z-index:200; background-color:#FFF; border:3px outset; /* pour IE seulement */ filter:progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#63421b,strength=6) } #tet{ /* titre */ cursor:move; background-color:maroon; font:12px/18px "Comic Sans MS", "Times New Roman", Times, serif; color:white; padding:0 20px 0 .5em; } #tet img{ /* croix pour fermer */ position:absolute; right:0; top:0; height:14px; width:16px; cursor:default; margin:2px 1px 1px; border:0 }
26 avril 2014 à 10:20
Exellent script, néanmoin une petite question !
Est-il possible de remplacer le "HREF" par un "OnClick" ?
A vous lire.
8 févr. 2010 à 01:39
bye
10 févr. 2009 à 14:09
Plus précisément sur les pages détails des news (http://www.luxury-club.fr/news.php) et également sur les pages détails des véhicules (http://www.luxury-club.fr/location/Ferrari/F430.php). Je vais au fur et à mesure l'appliquer à tout le site. MERCI
31 janv. 2008 à 18:20
Le script est visible à : http://r1223.adelex.fr/journal.html
J'en suis très contant, mais je n'arrive pas à fermer la pseudo pop-up avec un 'onmouseout'
J'ai rajouté la fonction :
function clsimage(){
??? <- c'est là ou je sêche.
}
qui est appelé par : if(result!=-1){l[i].onmouseout=clsimage()}
si vous pouvez m'aider.
Merci d'avance,
Xav'
20 avril 2007 à 11:38
Une petite mise à jour du code et plus de problèmes !
Ce script est vraiment excellent, merci beaucoup !!!!!!!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.