begin process at 2012 05 30 09:02:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

zoom - image ET commentaires


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

zoom - image ET commentaires

mercredi 10 août 2011 à 11:05:10 | zoom - image ET commentaires

Villa Flore

Bonjour,

Je cherche à faire des zooms sur des miniatures.
J'utilise le très bon script suivant :
------------------------------------------------------------------------------------------------------------------
Fonction JS pour l'affichage en grand des photos ET des commentaires au passage de la souris
source : http://myTooltip.free.fr v0.2 auteur : Frederic MADSEN
------------------------------------------------------------------------------------------------------------------
http://mytooltip.free.fr/mytooltip/demo.php Démonstration
(le code source se trouve en Lien, sur la démo elle même).
Voici le code PHP appelant la fonction JS :
Code PHP :
<a href="javascript:void(0)" 
   title="monTitre" rel="mytooltip" rev="adressePhotoGrande" />
   <img src="adressePhotoPetite" alt="commentairePhoto" />
  </a> 


Tout d'abord, j'ai dû adapter le code JS à mes pages : Ayant plusieurs <DIV> dans ma page (<div id=entete> , <div id=corps> ...), contrairement à la démonstration où il n'y a qu'un seul <div>, j'ai donc changé :
Code Javascript :
var doc=document.documentElement

par
Code Javascript :
var doc=document.body

et ceci pour un bon cadrage de l'agrandissement de la photo et de ses commentaires :
Avec "documentElement" et plusieurs <div>, la taille totale de l'écran s'appliquait à la position du second <div> sur l'écran.

1ere question :
Le zoom se passe bien, l'affichage du titre de la photo également.
Cependant je ne parviens pas à afficher le "Alt" de la photo (les commentaires), alors que l'affichage de la démonstration proposée se passe très bien.
Voici le code proposé par Frederic MADSEN :
Code Java :
  TOOLTIP.innerHTML='<img src="'+(a.rev?a.rev:a.href)+'"><br/><span>'+a.title+'</span>'+(a.firstChild.alt?'<br/><span>'+a.firstChild.alt+'</span>':'erreur alt')


2eme question :
Alors que la démonstration proposée par Frederic MADSEN se déroule fort bien sur Internet Explorer (version 7),
le code adapté sur mes pages ne s'applique pas sur IE.

Voici le code JS complet :
Code Javascript :
<?php
// ------------------------------------------------------------------------------------------------------------------------------------------
//	FONCTION_INFOBULLE . JS		Fonction JS pour l'affichage en grand des photos au passage de la souris
// ------------------------------------------------------------------------------------------------------------------------------------------
//	source : http://myTooltip.free.fr v0.2		auteur : Frederic MADSEN
/*
	On peut modifier les 3 premières lignes :
	1 - DIR : Orientation des tooltip (1=North-East, 2=South-East, 3=South-West and 4=North-West).
	2 - OFFSETX : décalage Horizontal par rapport à la position de la souris.
	3 - OFFSETY : décalage Vertical par rapport à la position de la souris.
*/
?>
DIR=2
OFFSETX=10
OFFSETY=10

function moveTooltip(e){									/*	paramètres de l&#8217;écran	*/
	if(!e)e=event											/*	mouseX mouseY : Renvoie la position horizontale (ou verticale) actuelle (en pixels) de la souris sur l'écran actif	*/
/*	var doc=document.documentElement	*/					/*	documentElement : représente l'élément racine associé au document. la racine de l'arbre du document XML	*/
	var doc=document.body									/*	BODY à la place de "documentElement"	(car plusieurs <div> . . . </div>)	*/
	var scrollLeft=doc.scrollLeft||document.body.scrollLeft	/*	scrollLeft : Définit le nombre de pixels dont le contenu est défilé vers la GAUCHE	*/
	var scrollTop=doc.scrollTop||document.body.scrollTop	/*	scrollTop : Définit le nombre de pixels dont le contenu est défilé vers la HAUT	*/
	var mouseX=e.clientX+scrollLeft							/*	clientX : Obtient la coordonnée x de la position du pointeur de la souris par rapport à la zone client de la fenêtre du navigateur	*/
	var mouseY=e.clientY+scrollTop							/*	clientY : Obtient la coordonnée y de la position du pointeur de la souris par rapport à la zone client de la fenêtre du navigateur	*/
	var winWidth=doc.clientWidth+scrollLeft					/*	clientWidth : représente la largeur intérieure d'un élément	*/
	var winHeight=doc.clientHeight+scrollTop
	var tooltipWidth=TOOLTIP.offsetWidth
	var tooltipHeight=TOOLTIP.offsetHeight
	var edgeTop=e.clientY-OFFSETY
	var edgeRight=winWidth-mouseX-OFFSETX
	var edgeBottom=winHeight-mouseY-OFFSETY
	var edgeLeft=e.clientX-OFFSETX
	if(DIR==1||DIR==2)
		if(edgeRight<tooltipWidth)TOOLTIP.style.left=winWidth-tooltipWidth+'px'
		else TOOLTIP.style.left=mouseX+OFFSETX+'px'
	else
		if(edgeLeft<tooltipWidth)TOOLTIP.style.left=scrollLeft+'px'
		else TOOLTIP.style.left=mouseX-tooltipWidth-OFFSETX+'px'
	if(DIR==1||DIR==4)
		if(edgeTop<tooltipHeight)TOOLTIP.style.top=scrollTop+'px'
		else TOOLTIP.style.top=mouseY-tooltipHeight-OFFSETY+'px'
	else
		if(edgeBottom<tooltipHeight)TOOLTIP.style.top=winHeight-tooltipHeight+'px'
		else TOOLTIP.style.top=mouseY+OFFSETY+'px'}

function showTooltip(a){
 	clearTimeout(timer)
	TOOLTIP.innerHTML='<img src="'+(a.rev?a.rev:a.href)+'"><br/><span>'+a.title+'</span>'+(a.firstChild.alt?'<br/><span>'+a.firstChild.alt+'</span>':'<br/>erreur alt')
	TOOLTIP.style.display='block'}

//	TOOLTIP.innerHTML='<img src="'+(a.rev?a.rev:a.href)+'"><br/><span>'+a.title+'</span>'+(a.firstChild.alt?'<br/><span>'+a.firstChild.alt+'</span>':'<br/>erreur alt')

function hideTooltip(){
	TOOLTIP.style.display='none'}

var timer
TOOLTIP=document.createElement('div')
TOOLTIP.id='mytooltip'
TOOLTIP.onmouseover=function(){clearTimeout(timer)}
TOOLTIP.onmouseout=function(){timer=setTimeout(hideTooltip,10)}
document.body.appendChild(TOOLTIP)
TLINK=document.getElementsByTagName('a')	//	vérifie l'alignement d'une série de cellules d'un tableau. 
for(i=0;i<TLINK.length;i++)
	if(TLINK[i].rel=='mytooltip'){
		TLINK[i].onmouseover=function(){showTooltip(this)}
		TLINK[i].onmouseout=function(){timer=setTimeout(hideTooltip,10)}
		new Image().src = (TLINK[i].rev?TLINK[i].rev:TLINK[i].href)}

document.onmousemove=function(e){if(TOOLTIP.style.display=='block')moveTooltip(e)}	//	des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle.

Et voici l'appel de cette fonction JS dans le code :
Code HTML :
<script type="text/javascript" language="javascript" src="../includes/panier/fonction_mytooltip.js"> </script>	<!--	DOIT être mis dans le code à la fin du <body>   -->


Cette discussion est classée dans : alt, code, var, document, tooltip


Répondre à ce message

Sujets en rapport avec ce message

mozilla et les sélections :( [ par randiox ] voila j'ai fait un petit code qui tourne sous IE :function smiley(code) { var chaine = document.selection.createRange().text; document.formulaire.te c'est quoi ce truc????? [ par gaga38 ] salut a tous, voila mon souci j'essaye de comprendre ce ..###{[ de code, mais la je butte serieux, si y'a des volontaires pour m'aider ce serai gentil Collecte de variable puis envoie vers page en PHP [ par DzinVolt_Original ] Bonjour,     Je debute et j'ai un reel probleme pour collecter la valeur d'une variable de mes listes deroulantes. Je m'explique, je desir connaitre Defi [ par wassimkr ] Je dois résoudre un challenge : trouver un code grâce au code source de la page.J'aimerais bien que vous me donniez quelques indices pour pouvoir réso texte descriptif en mouseover [ par da vince ] Hello,J'ai trouvé un script très bein mais il a deux problèmes:ça marche dans IE7et les textes descriptifs (ds FF) ne disparaissent pas tjs quens on s code html comme cookie [ par g_fuck ] salut! j'ai un code JS servant a storer des cookies : function  SetCookie (name, value) {  var argv = SetCookie.a Problème lecture cookie :( [ par Nixeus ] Bonjour à tous !Je dois créer un cookie quand je rentre sur mon site, puis le lire ensuite, afin de savoir si la personne est déja venue.Il s'agit don Alternance entre divs [ par Trashful ] Bonjour à tous, J'ai un petit problème et j'espère que votre communauté sera en mesure de corriger mes petites erreurs. N'étant pas un professionnel unterminated string literal [ par kangun ] Bonjour. je me tourne vers vous suite à un problème apparut sur un java script. en effet, je souhaite afficher une bulle au dessus d'une image et chan Variable retour de function [ par bydouille ] Bonjour, Je désire faire et utiliser une function qui me renvoie le contenu d'une ligne de tableau (3 cellules) avec comme id : cell-1, cell-2, cell-


Nos sponsors


Sondage...

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

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