par
AB » 05 juin 2009, 14:58
En reprenant le principe du code que j'ai donné plus haut, et pour continuer à te montrer la création d'éléments avec le DOM, on peut faire par exemple :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--/*--><![CDATA[//><!--
function infobulle_img(image,event){
if (this.conteneur = document.getElementById('infobulle_image'))
{
this.s_content = document.createElement("img");
this.s_content.setAttribute("src", image);
this.s_content.setAttribute("alt", '');
if (this.noeud_img) this.conteneur.removeChild(this.noeud_img);
this.noeud_img = this.conteneur.appendChild(this.s_content);
this.conteneur.style.visibility = 'visible';
this.conteneur.style.left = event.clientX+10+"px";
this.conteneur.style.top = event.clientY+20+"px";
}
}
function infobulle_img_cache(){
if (this.conteneur = document.getElementById('infobulle_image'))
this.conteneur.style.visibility = 'hidden';
}
</script>
<style type="text/css">
#infobulle_image {
position: absolute;
visibility: hidden;
}
#infobulle_image img{
border: 1px solid gray;
}
</style>
</head>
<body>
<div>
<span id = "infobulle_image"></span>
<a href="#" onmousemove="infobulle_img('chemin_de_ton_image1',event);" onmouseout="infobulle_img_cache();">Bidule image</a>
<a href="#" onmousemove="infobulle_img('chemin_de_ton_image2',event);" onmouseout="infobulle_img_cache();">Bobole image</a>
</div>
</body>
</html>
mais il y a plus simple :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--/*--><![CDATA[//><!--
function infobulle_im(image,event) {
if (this.conteneur = document.getElementById('infobulle_i'))
{
this.conteneur.src = image;
this.conteneur.style.visibility = 'visible';
this.conteneur.style.left = event.clientX+10+"px";
this.conteneur.style.top = event.clientY+20+"px";
}
}
function infobulle_i_cache(){
if (this.conteneur = document.getElementById('infobulle_i'))
this.conteneur.style.visibility = 'hidden';
}
//--><!]]>
</script>
<style type="text/css">
#infobulle_i {
position: absolute;
visibility: hidden;
border: 1px solid gray;
}
</style>
</head>
<body>
<div>
<img id = "infobulle_i" src="" alt="" />
<a href="#" onmousemove="infobulle_im('chemin_de_ton_image1',event);" onmouseout="infobulle_i_cache();">Bidule image</a>
<a href="#" onmousemove="infobulle_im('chemin_de_ton_image2',event);" onmouseout="infobulle_i_cache();">Bobole image</a>
</div>
</body>
</html>
Dans les deux cas il te faudra une fonction pour préloader tes images :
http://www.phpfrance.com/forums/voir_re ... php#243592
En reprenant le principe du code que j'ai donné plus haut, et pour continuer à te montrer la création d'éléments avec le DOM, on peut faire par exemple :
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--/*--><![CDATA[//><!--
function infobulle_img(image,event){
if (this.conteneur = document.getElementById('infobulle_image'))
{
this.s_content = document.createElement("img");
this.s_content.setAttribute("src", image);
this.s_content.setAttribute("alt", '');
if (this.noeud_img) this.conteneur.removeChild(this.noeud_img);
this.noeud_img = this.conteneur.appendChild(this.s_content);
this.conteneur.style.visibility = 'visible';
this.conteneur.style.left = event.clientX+10+"px";
this.conteneur.style.top = event.clientY+20+"px";
}
}
function infobulle_img_cache(){
if (this.conteneur = document.getElementById('infobulle_image'))
this.conteneur.style.visibility = 'hidden';
}
</script>
<style type="text/css">
#infobulle_image {
position: absolute;
visibility: hidden;
}
#infobulle_image img{
border: 1px solid gray;
}
</style>
</head>
<body>
<div>
<span id = "infobulle_image"></span>
<a href="#" onmousemove="infobulle_img('chemin_de_ton_image1',event);" onmouseout="infobulle_img_cache();">Bidule image</a>
<a href="#" onmousemove="infobulle_img('chemin_de_ton_image2',event);" onmouseout="infobulle_img_cache();">Bobole image</a>
</div>
</body>
</html>[/code]
mais il y a plus simple :
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--/*--><![CDATA[//><!--
function infobulle_im(image,event) {
if (this.conteneur = document.getElementById('infobulle_i'))
{
this.conteneur.src = image;
this.conteneur.style.visibility = 'visible';
this.conteneur.style.left = event.clientX+10+"px";
this.conteneur.style.top = event.clientY+20+"px";
}
}
function infobulle_i_cache(){
if (this.conteneur = document.getElementById('infobulle_i'))
this.conteneur.style.visibility = 'hidden';
}
//--><!]]>
</script>
<style type="text/css">
#infobulle_i {
position: absolute;
visibility: hidden;
border: 1px solid gray;
}
</style>
</head>
<body>
<div>
<img id = "infobulle_i" src="" alt="" />
<a href="#" onmousemove="infobulle_im('chemin_de_ton_image1',event);" onmouseout="infobulle_i_cache();">Bidule image</a>
<a href="#" onmousemove="infobulle_im('chemin_de_ton_image2',event);" onmouseout="infobulle_i_cache();">Bobole image</a>
</div>
</body>
</html>[/code]
Dans les deux cas il te faudra une fonction pour préloader tes images :
http://www.phpfrance.com/forums/voir_reponse-243592.php#243592