Facebook 如何切换其通知中心图标以在单击时显示带有通知的相应 DIV?
你们所有人至少都与 Facebook 网站左上角 Logo 附近的 Facebook 通知中心进行过交互。他们如何锻炼?
这是下图将说明我正在谈论的 Facebook 通知中心
这是我用来锻炼的示例代码..
<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/