如何在gmail中实现“弹出”

时间:2011-07-19 23:10:14

标签: javascript jquery html ajax

我正在尝试在Gmail的顶部栏上实现一个弹出式面板。如果你单击设置图标,你的名字或共享链接,面板就会下降......是否有一个jquery插件或某些东西可以让我快速实现某些东西以产生类似的效果?

3 个答案:

答案 0 :(得分:2)

如果您想要一个非jQuery跨浏览器解决方案,我昨天在这里为某人做了这个:

http://jsfiddle.net/Paulpro/H4CLU/

当您点击button时它会下降,当您再次点击它时会隐藏,或者在文档中不属于下拉列表的任何位置时会隐藏。

只有你需要改变的东西可能是一些很好的样式的CSS东西。

答案 1 :(得分:1)

是的,我建议使用jQuery(每次使用JS时)。创建这样的图层真的很容易:

<div id="layer">content</div>
<a id="button" href="#">show</a>
<script type="text/javascript">
$(document)ready(function(){
    $('#layer').hide();
    $('#button').click(function(e){
        e.preventDefault();
        $('#layer').show();
    });
});
</script>

答案 2 :(得分:1)

这是一个jsFiddle,展示了如何实现这样的目标。

基本上,你正在捕捉body元素的点击,如果他们点击了设置,你会显示“panel”div。如果他们点击其他内容,则隐藏它。

JS:

$(function() {
    $('body').click(function(e) {
        if ($(e.target).attr('id') == 'settings') {
            $('#panel').show();
        } else {
            $('#panel').hide();
        }
    });
});

HTML:

<span id="settings">Settings</span>
<div id="panel">
    <ul>
        <li>Option 1</li>
        <li>Option 2</li>
        <li>Option 3</li>
    </ul>
</div>

CSS:

#panel { display: none;  border: 1px solid #000;}