0

以下に、タブとして 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');
            }

}
});
}
4

0 に答える 0