更容易为您提供一个众所周知的例子:
如果您使用Google登录,则可以单击右上方的个人资料图标,然后会出现一个对话框。我怎么能做类似的事情?我想这可能是用jQuery制作的。我发现关闭的东西是你用toggle函数创建一个div,但它不是最好的,因为它会压缩整个页面内容。
它似乎也不是一个简单的javascript提示......(但我没有经验可以判断它......)
你知道怎么创造这样的东西吗?谢谢!!
答案 0 :(得分:1)
这是一个如何使用jQuery做的简单示例。
$('.button').on('click', function() {
$('.hoverelement').toggle();
});

.hoverelement {
display: none;
border: solid 1px;
background-color: #fff;
width: 200px;
text-align: left;
position: relative;
top: 10px;
z-index: 10;
}
.container {
position: absolute;
}
.othercontent {
position: absolute;
top: 50px;
z-index: 0;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="button">Button</div>
<div class="hoverelement">
<h1>your content here</h1>
<p>put some content here</p>
</div>
</div>
<div class="othercontent">
other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />other content
<br />
</div>
&#13;
答案 1 :(得分:0)
试试这个并放置个人资料图片
$('img').on('click', function() {
$('.hoverelement').toggle();
});
&#13;
.hoverelement {
display: none;
border: solid 1px;
width: 200px;
text-align: left;
position: absolute;
z-index: 999;
top: 100px;
}
.container {
position: relative;
top: 45px;
float: right;
text-align: right;
}
img {
width: 100px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<img src="http://upload.wikimedia.org/wikipedia/commons/3/33/Vanamo_Logo.png" alt=""/>
<div class="hoverelement">
<h1>your content here</h1>
<p>put some content here</p>
</div>
</div>
&#13;
答案 2 :(得分:0)
首先,当用户点击某个图标时,您应该得到它的坐标left,top
我不确定,但您可以使用$icon.offset()
现在您可以在对话框的左侧和顶部执行操作:
var $dialog_div = $("<div></div>"); //make new item
// make sure it floats and not pushing other contents of the pge
$dialog_div.css("position","absolute");
$dialog_div.css("z-index","9999"); // or some big number to be above all content
$dialog_div.css("left",left); // the left you got from icon offset
$dialog_div.css("top",top); // the top you got from icon offset
/////// append some content to the dialog and add some css classes
$("body").append($dialog_div); //finally append it to the body
我希望这有助于进行你想要的对话。
但最好使用像jqueryUi
或Bootstrap
之类的某些库