/***** Les infos bulles *****/
#flecheBulle {
+ position: absolute;
+ z-index: 50;
width: 15px;
height: 8px;
- background-image: url(../../img/css1/fleche_bulle.png)
+ background-image: url(../../img/css1/fleche_bulle.png);
+ display: none
+}
+#messageBulle {
+ position: absolute;
+ z-index: 50;
+ color: #ffffff;
+ background-color: #841919;
+ display: none;
+ font-size: 10px;
+}
+#messageBulle p {
+ padding: 3px 6px;
}
/***** Le faux captcha *****/
.captcha {
display:none;
+}
/***** Les formulaires *****/
form input,
this.timeoutMessageDialogue = setTimeout(fermer, conf.tempsAffichageMessageDialogue)
}\r
+/**
+ * Affiche un info bulle lorsque le curseur survole l'élément donné.
+ * FIXME : le width de element ne tient pas compte du padding !?
+ */
+Util.prototype.infoBulle = function(message, element)
+{
+ var virerMess = function()
+ {
+ $("#flecheBulle").remove()
+ $("#messageBulle").remove()
+ }
+
+ element.click(virerMess)
+
+ element.hover(
+ function(e)
+ {
+ f = $('<div id="flecheBulle"></div>').appendTo("body")
+ m = $('<div id="messageBulle"><p>' + message + '</p></div>').appendTo("body")
+ var positionFleche = {
+ left : element.offset().left + element.width() / 2 - f.width() / 2,
+ top : element.offset().top - f.height()
+ }
+ var positionMessage = {
+ left : element.offset().left + element.width() / 2 - m.width() / 2,
+ top : element.offset().top - f.height() - m.height()
+ }
+ var depassementDroit = (positionMessage.left + m.width()) - $("body").width()
+ if (depassementDroit > 0)
+ positionMessage.left -= depassementDroit
+ else
+ {
+ if (positionMessage.left < 0)
+ positionMessage.left = 0
+ }
+
+ m.css("top", positionMessage.top).css("left", positionMessage.left).show()
+ f.css("top", positionFleche.top).css("left", positionFleche.left).show()
+ },
+ virerMess
+ )
+}
+
/**
* Utilisé pour l'envoie de donnée avec la méthode ajax de jQuery.
*/
// (at your option) any later version.\r
//\r
// Euphorik is distributed in the hope that it will be useful,\r
+// MERCHANTABILITY or FIAller à la première pageTNESS FOR A PARTICULAR PURPOSE. See the\r
// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
// GNU General Public License for more details.\r
//\r
// You should have received a copy of the GNU General Public License\r
}
)
}
+
+ this.util.infoBulle("Ouvrir la conversation liée au troll de la semaine", $("#trollCourant"))
// <smiles>
$("body").append("<div id=\"smiles\"></div>")
</div>'
)
+ this.util.infoBulle("Aller à la première page", $("#conversations #" + this.getId() + " .numPage"))
+ if (num != 0)
+ {
+ this.util.infoBulle("Créer un lien vers la conversation", $("#conversations #" + this.getId() + " .lien"))
+ this.util.infoBulle("Fermer la conversation", $("#conversations #" + this.getId() + " .fermer"))
+ }
+
// enlève la mise en évidence pour la conversation
$("#conversations #" + this.getId()).hover(
function(){},
if (nbMessagesAffiche > this.nbMessageMax)
$("#conversations #" + this.getId() + " .message").slice(this.nbMessageMax, nbMessagesAffiche).empty()
-
- //.filter(function(){ return parseInt($(this).attr("id").substr(4), 36) > thisConversation.idDernierMessageAffiche })
-
var DOM = $(XHTML)
DOM.each(
function()
function(){}
)
+ thisConversation.util.infoBulle("Extraction de la conversation", $(".extraire", this))
+
$(this).click(
function(event)
{