* @return The Sone ID
*/
function getMenuSone(element) {
- return $(element).closest(".sone-menu").find(".sone-id").text();
+ return $(element).closest(".sone-menu").find(".sone-menu-id").text();
}
/**
/* show Sone menu when hovering over the avatar. */
$(postElement).find(".post-avatar").mouseover(function() {
- $(".sone-menu:visible").fadeOut();
- $(".sone-post-menu", postElement).mouseleave(function() {
- $(this).fadeOut();
- }).fadeIn();
- return false;
+ if (typeof currentSoneMenuTimeoutHandler != undefined) {
+ clearTimeout(currentSoneMenuTimeoutHandler);
+ }
+ currentSoneMenuId = getPostId(this);
+ currentSoneMenuTimeoutHandler = setTimeout(function() {
+ $(".sone-menu:visible").fadeOut();
+ $(".sone-post-menu", postElement).mouseleave(function() {
+ $(this).fadeOut();
+ }).fadeIn();
+ }, 1000);
+ }).mouseleave(function() {
+ if (currentSoneMenuId = getPostId(this)) {
+ clearTimeout(currentSoneMenuTimeoutHandler);
+ }
});
(function(postElement) {
- var soneId = $(".sone-id", postElement).text();
+ var soneId = $(".sone-menu-id", postElement).text();
$(".sone-post-menu .follow", postElement).click(function() {
var followElement = this;
ajaxGet("followSone.ajax", { "sone": soneId, "formPassword": getFormPassword() }, function() {
/* show Sone menu when hovering over the avatar. */
$(replyElement).find(".reply-avatar").mouseover(function() {
- $(".sone-menu:visible").fadeOut();
- $(".sone-reply-menu", replyElement).mouseleave(function() {
- $(this).fadeOut();
- }).fadeIn();
- return false;
+ if (typeof currentSoneMenuTimeoutHandler != undefined) {
+ clearTimeout(currentSoneMenuTimeoutHandler);
+ }
+ currentSoneMenuId = getPostId(this) + "-" + getReplyId(this);
+ currentSoneMenuTimeoutHandler = setTimeout(function() {
+ $(".sone-menu:visible").fadeOut();
+ $(".sone-reply-menu", replyElement).mouseleave(function() {
+ $(this).fadeOut();
+ }).fadeIn();
+ }, 1000);
+ }).mouseleave(function() {
+ if (currentSoneMenuId = getPostId(this) + "-" + getReplyId(this)) {
+ clearTimeout(currentSoneMenuTimeoutHandler);
+ }
});
(function(replyElement) {
- var soneId = $(".sone-id", replyElement).text();
+ var soneId = $(".sone-menu-id", replyElement).text();
$(".sone-menu .follow", replyElement).click(function() {
var followElement = this;
ajaxGet("followSone.ajax", { "sone": soneId, "formPassword": getFormPassword() }, function() {
var initiallyLoggedIn = $("#sone #loggedIn").text() == "true";
var notLoggedIn = !initiallyLoggedIn;
+/** ID of the next-to-show Sone context menu. */
+var currentSoneMenuId;
+
+/** Timeout handler for the next-to-show Sone context menu. */
+var currentSoneMenuTimeoutHandler;
+
$(document).ready(function() {
/* this initializes the status update input field. */