Salut,
Désolé, je n'avais pas tester le mod et j'ai regardé le mauvais fichier
Voila ce que j'ai fait:
- Ouvrir
admin_acronyms.php
- Trouver:
str_replace("\'", "''", htmlspecialchars($description))
- Remplacer par:
str_replace("\'", "''", $description)
A faire 2 fois dans le fichier
- Ouvrir
acronyms_edit_body.tpl
- Trouver:
<input type="text" name="description" value="{DESCRIPTION}" class="post" maxlength="255"/>
- Remplacer par:
<textarea name="description" class="post" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3">{DESCRIPTION}</textarea>
- Ouvrir
overall_header.tpl
Utiliser ce script:
infobulle.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| var xOffset=6
var yOffset=5
var affiche = false; // La variable i nous dit si le bloc est visible ou non
var w3c=document.getElementById && !document.all;
var ie=document.all;
if (ie||w3c) {
var laBulle
}
function ietruebody(){ // retourne le bon corps...
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function deplacer(e) {
if(affiche){
var curX = (w3c) ? e.pageX : event.x + ietruebody().scrollLeft;
var curY = (w3c) ? e.pageY : event.y + ietruebody().scrollTop;
var winwidth = ie && !window.opera ? ietruebody().clientWidth : window.innerWidth - 20;
var winheight = ie && !window.opera ? ietruebody().clientHeight : window.innerHeight - 20;
var rightedge = ie && !window.opera ? winwidth - event.clientX - xOffset : winwidth - e.clientX - xOffset;
var bottomedge = ie && !window.opera ? winheight - event.clientY - yOffset : winheight - e.clientY - yOffset;
var leftedge = (xOffset < 0) ? xOffset*(-1) : -1000
// modifier la largeur de l'objet s'il est trop grand...
if(laBulle.offsetWidth > winwidth / 3){
laBulle.style.width = winwidth / 3
}
// si la largeur horizontale n'est pas assez grande pour l'info bulle
if(rightedge < laBulle.offsetWidth){
// bouge la position horizontale de sa largeur à gauche
laBulle.style.left = curX - laBulle.offsetWidth + "px"
} else {
if(curX < leftedge){
laBulle.style.left = "5px"
} else{
// la position horizontale de la souris
laBulle.style.left = curX + xOffset + "px"
}
}
// même chose avec la verticale
if(bottomedge < laBulle.offsetHeight){
laBulle.style.top = curY - laBulle.offsetHeight - yOffset + "px"
} else {
laBulle.style.top = curY + yOffset + "px"
}
}
}
function montre(text) {
if (w3c||ie){
laBulle = document.all ? document.all["bulle"] : document.getElementById ? document.getElementById("bulle") : ""
laBulle.innerHTML = text; // fixe le texte dans l'infobulle
laBulle.style.visibility = "visible"; // Si il est cachée (la verif n'est qu'une securité) on le rend visible.
affiche = true;
}
}
function cache() {
if (w3c||ie){
affiche = false
laBulle.style.visibility="hidden" // avoid the IE6 cache optimisation with hidden blocks
laBulle.style.top = '-1000px'
laBulle.style.backgroundColor = ''
laBulle.style.width = ''
}
}
document.onmousemove = deplacer; // des que la souris bouge, on appelle la fonction move pour mettre a jour la position de la bulle. |
exemple.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <html>
<head>
<script src="infobulle.js"></script>
<style type="text/css">
.infobulle{
color: #FFFFFF;
position: absolute;
visibility : hidden;
border: 2px solid #B1DBF3;
padding: 10px;
font-family: Trebuchet MS;
align: center;
font-size: 10pt;
background-color: #000000;
}
</style><div id="bulle" class="infobulle"></div>
<table width="100%" height="100%" border="1">
<tr>
<td onmouseover="montre('Ce texte est trop grand c\'est pourquoi il devrait dépasser de l\'ecran si on ne redimmensionne pas le cadre de l\'infobulle');" onmouseout="cache();"> Youhou trop grand </td><td></td>
<td onmouseover="montre('Une simple info-bulle');" onmouseout="cache();"> Youhou petit</td><td></td>
</tr>
</table>
</body>
</html> |
Placer l'appel du js, et le div
- Trouver:
- Ajouter après:
<div id="bulle" class="infobulle"></div>
- Ouvrir
bbcode.php
- Trouver:
$repl[] = '<acronym title="' . $acronyms[$i]['description'] . '">' . $acronyms[$i]['acronym'] . '</acronym>';
- Remplacer par:
1 2
| $info = "onmouseover=\"montre('".$acronyms[$i]['description']."')\" onmouseout=\"cache();\"";
$repl[] = "<acronym ".$info." title=\"\">".$acronyms[$i]['acronym']."</acronym>"; |
Testé sous IE et FF a toi d'adapter les css du code pour l'afficher comme tu le souhaite
Pour l'utlisaiton du HTML il faut faire comme ça:
<img src=\'tonimage.gif\' />
Ce qui est important c'est le bout de code en rouge sinon le script ne fonctionnera pas
Cordialement,
Darkenshin (Oyo sur phpBB-fr)
Partager