これが私のフィドルです:http: //jsfiddle.net/Ya3w7/2/
HTML:
<img src="http://cdn.tacky.me/m/static/settings16.png" class="settings-icon"/>
<div id="control-panel">
<img src="http://cdn.tacky.me/m/static/settings16.png" />
<a href="#" style="float:right" id="close-cp">X</a>
<div class="link_container"><a href="#">Show Profile</a></div>
</div>
CSS:
.settings-icon
{
margin: 100px;
cursor: pointer;
}
#control-panel
{
position: absolute;
height: auto;
width: auto;
top: 0;
left: 0;
background-color: #fff;
font-family: Arial, sans-serif;
display: none;
z-index: 4;
}
JavaScript:
$('.settings-icon').click(function(){
$('#control-panel').position({
of: $('.settings-icon'),
my: 'left top',
at: 'left top'
});
$('#control-panel').show();
});
$('#close-cp').click(function(event){
event.preventDefault();
$('#control-panel').hide();
});
私がやろうとしていること: 設定画像があり、クリックすると、このimgの周りに絶対位置のdiv(contgrol-panelと呼ばれます)が配置されます。
私が見ているもの:
初めてimgをクリックすると、正常に動作します
右上隅のXをクリックしてコントロールパネルを閉じます
2回目にクリックすると、コントロールパネルが別の場所に表示されます
再現する方法
フィドルに行く
- 設定アイコンを初めてクリックする
- Xをクリックしてドロップダウンするコントロールパネルを閉じます
- 設定アイコンをもう一度クリックします
- 別の場所にポップアップするコントロールパネルを参照してください