jquery - Facebook 如何切换其通知中心图标以在单击时显示带有通知的相应 DIV?

标签 jquery css html

Facebook 如何切换其通知中心图标以在单击时显示带有通知的相应 DIV?

你们所有人至少都与 Facebook 网站左上角 Logo 附近的 Facebook 通知中心进行过交互。他们如何锻炼?

这是下图将说明我正在谈论的 Facebook 通知中心 FB_NCToggle

这是我用来锻炼的示例代码..

    <style>
        div, a {
            display: block;
        }

        body {
            width: 500px;
            margin: 100px auto;
        }

        a {
            border: 1px solid #ccc;  
            background: #ececec;  
            -webkit-border-radius: 3px;  
            padding: 5px 20px;  
            text-align: center;
            color: red;
            text-decoration: none;
        }

        #one {
            margin-bottom: 30px;
        }

        .dn_js {
            display: none;
        }

        .db_js {
            display: block;
        }

    </style>

    <div class="wrap">
        <div id="one">
            <a href="#" data-open="frdz" class="aTggl active">Friends</a>
            <div id="frdz" class="innerWrap dn_js">Mike</div>
        </div>
        <div id="two">
            <a href="#" data-open="Ntfn" class="aTggl">Noticiations</a>
            <div id="Ntfn" class="innerWrap dn_js">Peter</div>
        </div>
    </div>

这是JS

    <script type="text/javascript">
        $(document).ready(function (e) {
            $(".aTggl").on("click", function(e) {
                e.preventDefault();
                var $this = $(this);

                $(".active").removeClass("active");

                $this.addClass("active").parent().siblings().children(".innerWrap").addClass("dn_js");

                var content_show = $(this).data("open");
                $("#"+content_show).addClass("db_js"); 
            });
        });
    </script>

最佳答案

在做了一些小的阅读后,我尝试编写一些代码,它确实有效并且有点满足我的问题。如果你们不介意,你们可以查看我的代码并告诉我需要改进、添加或删除的内容。

这是 jsFiddle Demo .谢谢。

这也是上述演示中的代码。

<div id="nc_wrap">
    <div class="one nc_node"> 
      <a class="node_link" data-nc="frd_rqst">Friend Requests</a>
      <div id="frd_rqst" class="ncInnerWrap dn_js">F_R Notfz</div>
    </div>

    <div class="two nc_node">
      <a class="node_link" data-nc="msg_nc">Messages</a>
      <div id="msg_nc" class="ncInnerWrap dn_js">Msg Notfz</div>
    </div>
</div>



     #nc_wrap {
    display:block;
    width:100%;
    height:40px
}
       .one, .two {
    display:inline-block;
    width:40%;
    height:100%;
    float:left;
    background-color:#ddd
}
.one a, .two a {
    display:block;
    text-align:center;
    line-height:100%;
    height:100%;
    padding:0;
    margin:0;
    cursor:pointer;
}
.one {
    margin-right: 5%;
}
.activeNC {
    background-color: red;
}
.dn_js {
    display:none;
}
.db_js {
    display:block;
}

        $(document).ready(function () {
    $(".nc_node").on("click", ".node_link", function (event) {
        event.preventDefault();
        var $this = $(this);
        var nc_panel = $("#" + $this.data("nc"));

        $('.nc_node a').not($this).removeClass('activeNC').next(".ncInnerWrap").removeClass("db_js").addClass("dn_js");
        //$($this).stop(true, true).toggleClass("activeNC");
        $this.toggleClass("activeNC").next(".ncInnerWrap").toggleClass("db_js dn_js");
    });

    /*$(this).on("click", function(){
        $(".node_link").removeClass("activeNC");

        return false;
    });
    */
});

关于jquery - Facebook 如何切换其通知中心图标以在单击时显示带有通知的相应 DIV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601264/

相关文章:

JQuery Datepicker 堆叠月份和年份

css - HTML 文件中所有按钮类型的最佳选择器组

javascript - 如何将 `scroll` 条添加到 `div` ,当它的高度为 `auto`

javascript - 如何提前订购数据

javascript - jQuery 代码搞乱了我其余的 JavaScript 代码

jquery - 滚动后降低标题高度

javascript - 关联数组到字符串和字符串到关联数组

javascript - 使用 Cookie 防止用户点击链接两次

css - 如何在网格中隐藏行边框

jquery - 查找 Range 输入的 +5 和 -5 值