私は Javascript (HTML と CSS の中級者) にはまったく慣れていませんが、他の例を調べて自分で作業するのはかなり得意です。残念ながら、私はこれに重大な問題を抱えています。
ビューアへの 3 つのリンクを表示するテーブルがあります。各リンクをクリックすると、非表示の div がスライドして右側に開きます。他のリンクの 1 つがクリックされると、開いている div がスライドして非表示になり、次に別の div がスライドして開きます。
私が探しているのは、マウスがリンクを再度クリックしたとき、およびマウスがdivの外側(または実際にはページのどこか)をクリックしたときに、divを再び非表示にすることです。
「e.stopPropagation」を使用してみましたが、うまくいかないようです。
どんな助けでも大歓迎です-ありがとう。
練習用に作成した jsFiddle があります: http://jsfiddle.net/AuU6D/3/
これは私のjQueryコードです:
jQuery(function ($) {
$('a.panel').click(function () {
var $target = $($(this).attr('href')),
$other = $target.siblings('.active'),
animIn = function () {
$target.addClass('active').show().css({
left: -($target.width())
}).animate({
left: 0
}, 500);
};
if (!$target.hasClass('active') && $other.length > 0) {
$other.each(function (index, self) {
var $this = $(this);
$this.removeClass('active').animate({
left: -$this.width()
}, 500, animIn);
});
} else if (!$target.hasClass('active')) {
animIn();
}
});
});