私が欲しいのは本当にシンプルですが、必要な機能を追加しようとするたびに、物事を台無しにしてしまうので、助けを求めて、現在の基本的なスクリプトを使い続けることにしました。
私はすでに進行中のスクリプトを持っており、ほぼ次のように機能するように開発したいと考えています: https ://stackoverflow.com/a/7133084/1399030 { http://jsfiddle.net/Paulpro/YpeeR/25/ } (作成者:PaulP.RO)
- 隠しスパンを開く
- 隠されたスパンを隠す
- スパンには、スパンを終了するための「閉じる」ボタンがあります
- 別のスパンがトリガーされたときに現在開いているスパンを非表示にする
考えてみてください...画像ギャラリープレビュー機能...種類。
「プレビュー」スパンは、ウェブページで.popCover
またはa.thumbnail
クリックされたときにトリガーされます。この非表示のスパンは、jQueryがcssに挿入することにより、指定された一意のIDに基づいて表示されます。
これは、複数のアイテムを含むループ内にあります。 display: block;
私はここまで到達しました、そしてこれは私が使用する作業スクリプトです:
$(document).ready(function() {
$('.popCover').click(function(){
divID = $(this).attr('id');
$("#tooltip-"+divID).fadeIn('5000', function() {
$("#tooltip-"+divID).css("display", "block");
});
});
$("a.thumbnail").click(function() {
dvID = $(this).attr('id');
$("#tooltip-"+dvID).fadeIn('5000', function() {
$("#tooltip-"+dvID).css("display", "block");
});
});
});
しかし今、私はこれらの関数に、スパンを再び消えさせるdisplay: none;
トリガーを追加する必要があります(そのcssに挿入することによって) 。
次の場合に現在のスパンを非表示にします。01。スパン要素の外側でマウスクリックが行われた
02。スパンの
内側で終了またはXボタンがクリックされた。(画像ギャラリーのように、画像をプレビューし、要素の外側をクリックするか、プレビュー内にある終了ボタンをクリックして画像を終了する場合)
03 .popCover
.またはa.thumbnail
再度クリックします(おそらく、別のIDの別のスパンをトリガーして表示します。 )。
注:
現在、ページ上のアンカーをクリックすることができます。IDが異なるこれらのスパンはすべて、ページ上で積み重なって積み重なっていきます。私は本当にそれを望んでいません。一度に複数のスパンを開きたくないので、別のアンカークリックが行われたときに現在開いているスパンが自動的に終了する機能を追加したいと考えていました。
私は実際にこれを自分でやろうとしましたが...私が試した方法を取得できません。私はjQueryの専門家ではないため、これらすべての関数を一緒に追加するには複雑すぎました。私は1つを動作させてから、別の1つで動作させようとしてそれを台無しにすることができました。
また、私はスパンを終了するこの同様の方法を使用することを考えていました:
$(".the_span").fadeOut("5000").css("display", "none");
私がプラグインを使用したくない唯一の理由は、私にとって単純なことです。私はすでに「プレビュー」スパンcssが本当に好きで、すべて準備ができています。jqueryの部分が機能する必要があります:
display: block
トリガーされたときのスパンに、そして言及display: none
された条件が満たされている場合はそれ。
助けを期待して、そして一人一人に非常に感謝するでしょう!ありがとうございました。