Скрытие кнопки при достижении максимума: Jquery - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующая кнопка, которая используется для просмотра дополнительных друзей с шагом 16:

<button class="cancel auto-btn hide-btn" id="viewAllFriends" style="display: visible;">View All Friends</button>

Первоначальное отображение отображается следующим образом:

var username = '<?php echo $username; ?>';
var num_friends = '<?php echo $num_friends; ?>';
var counter = 8;

$(document).ready(function(){

    <?php if ($num_friends > 8): ?>
    $("viewAllFriends").attr('style', 'display: visible;');

    $("#viewAllFriends").click(function(){
        counter = counter+16;

            $.ajax({

                url:'includes/handlers/ajax_load_profile_friends.php',
                type:'POST',
                data:{'username':username, 'num_friends':num_friends, 'counter':counter},

                    success: function(data) {
                        $('#data_friends').html(data);
                            }
                    });
            });
    <?php else: ?>   
        $("#viewAllFriends").attr('style', 'display: none;');
    <?php endif; ?>
});

Кнопка отображается, еслиу пользователя более 8 друзей или нет, если их меньше 8. Когда ajax_load_profile_friends.php доходит до конца, у меня есть скрытый тег, повторяющийся на странице.

$max = "<p id='max' hidden>$num_rows</p>";
echo "$max";

Вывод html выглядит следующим образом: <p id="max" hidden="">43</p>

Этот скрытый тег не появляется на странице до последнего запроса.То, что я пытаюсь сделать, это когда появляется 43 (что в этом примере указывает на то, что больше нет друзей для загрузки), это удалить кнопку View More friends from view.

Вот что я попробовал:

var friend_count = '<?php echo $num_friends; ?>';
var max = ("max").text();

if (max = friend_count) {
    $("#viewAllFriends").remove();

} 

К сожалению, это не работает - кнопка остается.Все остальное работает отлично, но это финальная деталь.Я не очень хорош в jQuery, поэтому мне интересно, перезаписывает ли ajax этот скрипт или, возможно, я не получаю данные в var max?Любая помощь, ссылки, примеры будут оценены.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Решение может быть таким:

Первое обновление ajax_load_profile_friends.php

$max = "<input id='max' type='hidden' value='".$num_rows."'>";
echo "$max";

Затем в вашем скрипте

var friend_count = '<?php echo $num_friends; ?>';
var max = $("#max").val();

if (max >= friend_count) {
    $("#viewAllFriends").hide();

} 
0 голосов
/ 26 февраля 2019

Я могу попробовать

$('#viewAllFriends').hide();

http://api.jquery.com/hide/

вместо

$ ("# viewAllFriends"). Remove ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...