2011-09-07 71 views
0

我正在构建一个片段,以获得Facebook图表API的评论&显示他们在我的股利。jquery插件用于显示Facebook评论与图表API

现在,我将评论计数作为参数传递给函数。我想使这个插件,我可以定义像count:5.

请给我提供一些输入。

<html> 
<head><title>facebook comments</title> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    //FBComments Initialize - Pass Comments Count as Parameter 
    fbComments.init('6'); 
}); 
</script> 
</head> 
<body> 
    <!-- Begin Main Wrapper --> 
     <div class="fbCommentsBlock"> 

     <!-- Begin Question Wrapper --> 
     <div class="questionPoll"> 
      <span>Q: Which do your kids prefer?</span> 
     </div> 
     <!-- End Question Wrapper --> 

     <!-- Begin Comments Listing --> 
     <ul class="fbComments"></ul> 
     <!-- End Comments Listing --> 

     <!-- Begin See More Comments Link --> 
     <div class="seeMoreLinkFB"> 
      <a class="seemore bulletLinks" href="#">see more</a> 
     </div> 
     <!-- End See More Comments Link --> 

     <!-- Begin Comment on Facebook Link --> 
     <div class="commentsLinkFB"> 
      <a class="bulletLinks" href="" target="_blank">comment on facebook</a> 
     </div> 
     <!-- End Comment on Facebook Link --> 
     </div> 
<!-- End Main Wrapper --> 
</body> 
</html> 

JavaScript函数:

//FB Comments with Graph API 
fbComments = { 
    init: function(count) { 
     var fbURL = 'https://www.facebook.com/lokeshyadav/'; 
     var questionID = 981234987242398; 
     var seeMoreURL = ''+ fbURL + questionID +''; 
     $('.commentsLinkFB a').attr({href:seeMoreURL, target:'_blank'}); 
     var fbCommentsURL = 'https://graph.facebook.com/'+ questionID +'/comments?limit=0'; 
     $.ajax({ 
      url: fbCommentsURL, 
      dataType: 'jsonp', 
      success: function (obj) { 
       for(var i = obj.data.length-1; i >= obj.data.length-count; i--) { 
        var userFullName = obj.data[i].from.name.split(' '); 
        var userName = userFullName[0]; 
         if(userFullName.length > 1) 
         { 
          userName += ' ' + userFullName[userFullName.length -1] 
         } 
        var fbComments = '<li><img src="https://graph.facebook.com/'+ obj.data[i].from.id +'/picture" alt="" class="fb_profilePic"/><p class="commentText"><span class="fbUserName">'+ userName +' says:</span><span class="fbCommentText multiline">&quot;'+ obj.data[i].message +'&quot;</span></p></li>'; 
        $('.fbComments').append(fbComments); 
        $('.fbComments').css('background','none'); 
       } 

       for (var i = obj.data.length-1; i >=0; i--) { 
        var fbAllComments = '<li><img src="https://graph.facebook.com/'+ obj.data[i].from.id +'/picture" alt="" class="fbpic"/><p class="fbCommentText"> <span class="fbUserName">'+ obj.data[i].from.name +' says:</span><span>&quot;'+ obj.data[i].message +'&quot;</span></p></li>'; 
        $('.fbCommentsMod').append(fbAllComments); 
        $('.fbCommentsMod').css('background','none'); 
       } 
      }, 
      error: function() { 
       $('.fbComments').css('background','none');   
      } 
     }); 
    } 
} 

我如何转换到这个插件,我可以通过提供像下面的设置参数,调用函数:

fbComments({ 
    count:5, 
    seemorelink: no, 
    facebookComment: yes 
}); 

回答

0

看一看http://jqueryboilerplate.com - 它给你一个很好的模板,以开始。此外,它已经提供了处理默认值和传递选项的解决方案。