[PHP] Aide pour lien dans un title
Dernière réponse : dans Programmation
Bonjour a tous,
Je fait actuellement une map pour un jeux,
Tout fonctionne, mais j'aurai besoins d'un petit coup de main, pour mettre un lien dedan
Pour info, j'ai creer une info bulle (tooltip nn?), qui me marque les coordoné de lemplacement si la case est vide, et le pseudo si la case est habité,
Je voudrai ajouté un lien genre, Ataquer, qui se trouve dans l'info bulle, donc dans le tittle,
Code actuel :
Je fait actuellement une map pour un jeux,
Tout fonctionne, mais j'aurai besoins d'un petit coup de main, pour mettre un lien dedan
Pour info, j'ai creer une info bulle (tooltip nn?), qui me marque les coordoné de lemplacement si la case est vide, et le pseudo si la case est habité,
Je voudrai ajouté un lien genre, Ataquer, qui se trouve dans l'info bulle, donc dans le tittle,
Code actuel :
if(empty($carto[$x][$y]['id'])) { //Case vide
?><a<img src="style/image/herbe20.png" width="20" height="20" title="(<? print $x.':'.$y; ?>)"></img><?
} else { //Case occupée
?><img src="style/image/ruche20.png" width="20" height="20" title="<? print $carto[$x][$y]['pseudo'].'('.$x.':'.$y; ?>)"></img><?
}
Autres pages sur : php aide lien title
Lassé par la pub ? Créez un compte
En effet, le title est pas forcément pratique, et met quelques secondes à apparaitre.
De plus, il me semble qu'IE ne lit pas les title par défaut, mais lit les alt. Donc faudrait mettre et alt, et title.
Bref...
Le plus simple serait de regarder au niveau de tooltips à faire soi-même, comme indiqué par xaebhal.
Regarde dans google avec une recheche "tooltip", tu devrais avoir ce que tu veux je pense. Tu dois pouvoir trouver beaucoup de scripts différents.
De plus, il me semble qu'IE ne lit pas les title par défaut, mais lit les alt. Donc faudrait mettre et alt, et title.
Bref...
Le plus simple serait de regarder au niveau de tooltips à faire soi-même, comme indiqué par xaebhal.
Regarde dans google avec une recheche "tooltip", tu devrais avoir ce que tu veux je pense. Tu dois pouvoir trouver beaucoup de scripts différents.
Voila, apparement, il faudrait modifié mon fichier bulle.js
Que dois-je rajouter pour mettre un lien dans cette info bulle
Que dois-je rajouter pour mettre un lien dans cette info bulle
addEvent(window, "load", initialiserBulles);
var lesBalises = new Array;
lesBalises[0] = "a";
lesBalises[1] = "img";
lesBalises[2] = "b";
lesBalises[3] = "p";
var XHTMLNS = "<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>";
var CURRENT_NICE_TITLE;
function initialiserBulles() {
if (!document.createElement || !document.getElementsByTagName) return;
// add namespace methods to HTML DOM; this makes the script work in both
// HTML and XML contexts.
if(!document.createElementNS){
document.createElementNS = function(ns,elt) {
return document.createElement(elt);
}
}
for(var i = 0; i < lesBalises.length; i++){
var balises = document.getElementsByTagName(lesBalises[i]);
for (var ti = 0; ti < balises.length ; ti++) {
var balise = balises[ti];
if (balise.title) {
ajouterBulle(balise);
}
}
}
}
function ajouterBulle(elem){
elem.setAttribute("bulle",elem.title);
elem.removeAttribute("title");
// on ajoute des evenements sur le lien
addEvent(elem,"mouseover",montrerBulle);
addEvent(elem,"mouseout",cacherBulle);
addEvent(elem,"focus",montrerBulle);
addEvent(elem,"blur",cacherBulle);
}
function donnePosition(oLink) {
if( oLink.offsetParent ) {
for( var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
posX += oLink.offsetLeft;
posY += oLink.offsetTop;
}
return [ posX, posY ];
} else {
return [ oLink.x, oLink.y ];
}
}
function montrerBulle(e) {
// si c'est le titre est déjà rempli on le cache
if (CURRENT_NICE_TITLE) cacherBulle(CURRENT_NICE_TITLE);
var elem;
if (window.event && window.event.srcElement) {
elem = window.event.srcElement
} else if (e && e.target) {
elem = e.target
}
var _textBulle = elem.getAttribute("bulle");
if(_textBulle.charAt(0) == '$'){
_textBulle = eval(_textBulle.substring(1));
} else {
_textBulle = "<p>" + _textBulle + "</p>";
}
// on ajoute à une div un noeud de texte contenant ce qu'il faut
var d = document.createElementNS(XHTMLNS,"div");
d.className = "bulle";
d.innerHTML = _textBulle;
d.style.position = 'absolute';
mpos = donnePosition(elem);
mx = mpos[0];
my = mpos[1];
d.style.left = (mx + 15) + 'px';
d.style.top = (my + 35) + 'px';
var largeurDiv = d.width;
if (window.innerWidth && ((mx+largeurDiv) > window. innerWidth)) {
d.style.left = (window.innerWidth - largeurDiv - 25) + "px";
}
if (document.body.scrollWidth && ((mx + largeurDiv) > document.body.scrollWidth)) {
d.style.left = (document.body.scrollWidth - largeurDiv - 25) + "px";
}
document.getElementsByTagName("body")[0].appendChild(d);
CURRENT_NICE_TITLE = d;
}
function cacherBulle(e) {
if (!document.getElementsByTagName) return;
if (CURRENT_NICE_TITLE) {
document.getElementsByTagName("body")[0].removeChild(CURRENT_NICE_TITLE);
CURRENT_NICE_TITLE = null;
}
}
// Add an eventListener to navigateurs that can do it somehow.
// Originally by the amazing Scott Andrew.
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
BAh non, tu as déjà un truc de bulles, donc c'est bon, je pensais que tu faisais tes bulles juste avec le "title", sauf que là, ta bulle récupère la valeur de title, et la met dans une bulle, donc ça devrait le faire
Par contre, est-ce que ton infobulle acceptera les liens ? je ne sais pas, essaie de mettre du code HTML dans ton attribut title
Comme ça par exemple : title="<a href='alert(\'test\');'>click</a>"
Par contre, est-ce que ton infobulle acceptera les liens ? je ne sais pas, essaie de mettre du code HTML dans ton attribut title
Comme ça par exemple : title="<a href='alert(\'test\');'>click</a>"
Parfait, mais dans lifno bulle ya un truc bizare, fin 2
Alors, deja ya une petite image sans lien qui s'affiche :
![]()
Et deux 2 ya un pb dans mon code js, qui m'empeche de cliké dessus, si je met mon pointeur de la bulle, elle s'en va
i
Alors, deja ya une petite image sans lien qui s'affiche :

Et deux 2 ya un pb dans mon code js, qui m'empeche de cliké dessus, si je met mon pointeur de la bulle, elle s'en va
i
f(empty($carto[$x][$y]['id'])) { //Case vide
?><a<img src="style/image/herbe20.png" width="20" height="20" title="(<? print $x.':'.$y; ?> )"></img><?
} else { //Case occupée
?><img src="style/image/ruche20.png" width="20" height="20" title="<? print $carto[$x][$y]['pseudo'].'('.$x.':'.$y; ?> )<br><a href='alert(\'test\');'>click</a></img><?
}
alors deja je ne pense pas que tu puisse mettre 'alert(\'test\') dans l'attribut href de ton lien, tout simplement parce que c'est du javascript
A la place essaye OnClick="alert('test');"
Ensuite je pense que quand tu vas sur ta bulle, tu sors de la case ou tu étais, et donc celle ci s'efface. Essaye de modifier les conditions qui font s'effacer la bulle
A la place essaye OnClick="alert('test');"
Ensuite je pense que quand tu vas sur ta bulle, tu sors de la case ou tu étais, et donc celle ci s'efface. Essaye de modifier les conditions qui font s'effacer la bulle
Lassé par la pub ? Créez un compte