簡単に言えば
こちらのデモをご覧ください。
私はいくつか持っているdiv.story-in-myworks
each 内div.story-in-myworks
には、div.pageimage-div-overlay
each のオーバーレイを制御する がありますdiv.story-in-myworks
。
それぞれの内部div.pageimage-div-overlay
には、a.btn-storysetting
を非表示および表示する責任がありdiv.storysettings_talkbubble_left
ます。
a.btn-storysetting
との両方div.storysettings_talkbubble_left
が の子要素ですdiv.pageimage-div-overlay
。
ここにスニペットがあります:
<div class="img-holder story-in-myworks " rel="91" style="background: url('img/01d-0.jpg?1353745136') no-repeat; background-size: cover; border: 1px solid #DCDDDE">
<div class="pageimage-div-overlay">
<a class="btn-storysetting" href="#"><span></span></a>
<div class="storysettings_talkbubble_left settings-bubble border-radius-5 hidden talkbubble-padding">
基本的な問題は、div.story-in-myworks または div.pageimage-div-overlay をクリックしたときに、クリック イベント ハンドラーに影響しない別の動作が必要なことです。a.btn-storysetting
やりたかったこと
- カーソルが単一
div.story-in-myworks
の に移動すると、その上にオーバーレイが表示されますdiv
(完了) - カーソルがいずれかの に移動する
div.story-in-myworks
と、画像 (btn-storysetting12x12.png
) が右上隅に表示されます(完了) 。 - を左クリックする
btn-storysetting12x12.png
と、画像のすぐ隣にバブルが表示されます。(終わり) - バブルが表示されると、選択
div.story-in-myworks
したものは引き続きオーバーレイの外観を示します(完了) - バブルが表示された後、ドキュメント内の他の場所を左クリックすると、バブルが閉じて
div.story-in-myworks
、オーバーレイのない通常の状態に戻ります(完了) 。 - バブルが表示された後、カーソルはバブルから離れることができ、バブルは表示されたままになり、選択したオーバーレイは
div.story-in-myworks
残ります。(終わり) - バブルが 1 で開かれ
div.story-in-myworks
、カーソルがbtn-storysetting12x12.png
ANOTHERの を開くdiv.story-in-myworks
と、前のバブルが消えて対応するオーバーレイが非表示になりますが、現在選択されdiv
ているものにはオーバーレイがあり、現在選択されているものにバブルが表示されますdiv
(完了) 。 div.story-in-myworks
前の 7 つの動作を変更せずに、別の Web ページに移動するなど、別の動作につながる をクリックできるようにしたいと考えています。
(完了)とマークされているものは完了していることに注意してください。こちらのデモをご覧ください。
やってみて得たもの
8をやろうとしましたが、ルール2 - 7はすぐに破られます。
必要なもの
他に何も壊すことなく、8 つの要件すべてに対応する方法。
よくある質問
- これはあなたの完全なアプリですか?
いいえ。できるだけ問題ステートメントに影響を与えずに、問題を説明するために不要なコードを可能な限り取り除いた縮小テスト ケースを実行しました。
デモの吹き出し内のリンクにスタイルが設定されていないことがわかります。
開示
- この同じ質問を css-tricks.com にクロスポストして、問題への注目を集めました。