以下に、タブとして 3 つのリンクがあります。
<li data-tab-id="self" class="tab selected"><a href="activity">Near You</a><span class="unread-count hidden" style="display: none;"></span></li>
<li data-tab-id="friends" class="tab"><a href="#">Following</a><span class="unread-count hidden" style="display: none;"></span></li>
<li data-tab-id="user" class="tab"><a href="#">Your Activity</a><span class="unread-count hidden" style="display: none;"></span></li>
上記のリンクをクリックすると、Jqueryクリック機能がトリガーされます
$(".hd-ui-activity li a").click(function(e) {
e.preventDefault();
var tabid = $(this).parent().attr('data-tab-id');
if(tabid == "self"){
getFunc1(totalRecords);
} else if(tabid == "friends") {
getFunc2(totalFriendsRecords);
} else if(tabid == "user") {
getFunc3(totalUserRecords);
}
});
各リンク/タブをクリックすると、関数getFunc1()
が呼び出され、次の div に html が追加されます (各関数には独自の div があります)。
<li data-section-id="following" data-component-bound="true">
<ul class="module-list">
<!-- USER ACTIVITY JSON -->
</ul>
<a class="ybtn ybtn-primary ybtn-large more-wishlist" href="#" onclick="javascript:getRecentActivityFriends(event)">
<span data-component-bound="true" class="loading-msg following">See more recent activity</span>
</a>
</li>
div には 4 つのリスト結果のみが表示されます。ユーザーsee more activity
がボタンをクリックすると、さらに多くの結果が div に読み込まれます。現在の問題は、ページの読み込み時に 4 つの結果が正しく表示されることですが、ボタンではなくリンクをもう一度クリックすると、すべてのデータが表示されます。タブ間を移動するのは難しいです。どうすればこれを回避できますか?
アップデート:
var totalFriendsRecords = '<?=$this->followingTotal?>';
function getRecentActivityFriends(event)
{
if (event != null){
disabledEventPreventDefault(event);
}
getFriendsActivity(totalFriendsRecords);
}
home.js
var totalFriendsRecordsView = 0;
function getFriendsActivity(totalFriendsRecords)
{
var activityHtml = ''
$.ajax({
url:baseUrl + "activity/feedfollowing",
data:{'total':totalFriendsRecordsView},
dataType:"json",
type:"POST",
success:function(data){
for(var i=0; i<data.length; i++){
activityHtml = '<p>'+data[i][name]+'</p>';
}
$('#activity-feed li[data-section-id=following] .module-list').append(activityHtml);
if( totalFriendsRecords <= totalFriendsRecordsView){
$('.following').text('Nothing beyond here ...');
$('.following').removeAttr('onclick');
$('.following').removeAttr('href');
}
}
});
}