クリックして表示されるjqueryポップアップがあります。同じセレクタをクリックしたときに再び非表示にする必要があります。しかし、現時点では、それはちょうど点滅してリロードされます。セレクタではない場所をクリックすると閉じるように設定していますが、これは本当に必要なものではありません。jqueryのツールチップ - クリックして開くと閉じる
これは完全に動作する私のコードですが、もう一度クリックすると非表示にする方法を知る必要があります。
基本的に私が知る必要があるのは、どのセレクタがクリックされたかを追跡する方法です(同じクラスのすべての同じページでクリックできる複数のアイテムがあります)ので、再度クリックすると言うことができますそれを閉じる?
$(document).ready(function(){
$("#tooltip").hide();
$("a.highScoreTooltip").click(function(){
var game = $(this).attr('title');
var offset = $(this).offset();
var top = offset.top - 43;
var left = offset.left + 155;
$.ajax({
type: "POST",
data: 'game=' + game,
url: "<?=$server_url?>leaderboard_popup.php",
cache: false,
success: function (html) {
$("#tooltip").show();
$("#tooltip").html(html);
$("#tooltip")
.css("top",top + "px")
.css("left",left + "px")
.fadeIn("fast");
}
});
});
jQuery(document).delegate(':not(#tooltip)', 'click', function(){
$('#tooltip').hide();
});
});
、あなたはCSSクラス([.addClass()]を追加することができます(http://api.jquery.com/addClass /))をクリックして別のクリックで削除します([。removeClass()](http://api.jquery.com/removeClass/))。 – marioosh
@mariooshこれはクラスを使うのは少し不必要です。なぜならそれは1つのプロパティだけが変更されているからです(そして、その特定のプロパティをそのまま変更するのに十分なjQuery関数があります)。 '.toggleClass()'を使用せず、手動でテストする手間を省きます。 –