单击后如何让登录按钮成为下拉菜单

时间:2015-12-25 10:59:35

标签: javascript jquery html css facebook

我正在建立一个社交网站,并遇到一些关于Facebook登录的问题。

我可以成功登录。 问题是我希望用户点击导航栏上的登录按钮后,该按钮将成为一个下拉菜单。

如果用户点击下拉菜单,他们可以转到他们的个人资料网站或退出。

Sorry for my English presentation so I draw picture to make you understand

<a id="login_button">Login</a>

及以下是我的js代码的一部分。

  $(function(){

     $("#login_button").click(function() {
       FB.login();
       get_my_profile();
     });

  });

  var get_my_profile =function() {

     FB.api("/me", function(response){
        var username =response.name;
        $("#profile_name").html(username);
     });

     FB.api("/me/picture", function(response) {
        var userpicture =response.data.url; 
        $("#profile_picture").attr("src", userpicture);
     });
  }

1 个答案:

答案 0 :(得分:1)

您可以使用FB.getLoginStatus()来确定用户是否已登录。

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    // the user is logged in and has authenticated your app

  $("#userMenu").show();


  } else if (response.status === 'not_authorized') {
    // the user is logged in to Facebook, 
    // but has not authenticated your app

    $("#login_button").show();

  } else {
    // the user isn't logged in to Facebook.
  }
 });



<a id="login_button" style="display: none;">Login</a>


<div class="btn-group" id="userMenu" style="display: none;">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    UserName <span class="caret"></span>
  </button>
  <ul class="dropdown-menu">
    <li><a id="userProfile" href="#">User Profile</a></li>
    <li><a id="logOut" href="#">Logout</a></li>
  </ul>
</div>