ограничивающие элементы, когда я нажимаю больше, чтобы загрузить другие элементы

0

Код, который я пробовал,

jQuery(function($) {
var visible =3;
$('#sc li:gt('+(visible - 1)+')').hide();    
$('#more').click(function() {      
    var Index = $('#sc').children('li:visible:last').index(),
    nextIndex = currentIndex + (visible + 1);
    $('#sc li').hide();        
    $('ul li:lt(' + nextIndex + '):gt(' + Index + ')').show();        
    });    
});

Я хочу ограничить элементы, но когда я нажал больше, ничего не произойдет.

Теги:

1 ответ

1

Основная проблема заключается в том, что вы определяете переменную Index и используете currentIndex в следующей строке, что, конечно же, вызывает ошибку, иначе ваш код должен работать. Однако вы можете кэшировать элементы и использовать .slice() который повышает эффективность кода.

jQuery(function ($) {
    var visible = 3,
            $li = $('#sc li');

    // hiding the elements
    $li.slice(visible).hide();

    $('#more').on('click', function () {
        // getting index of the last visible element
        var ci = $li.filter(':visible:last').index();
        // slicing and showing next should-be-visible elements
        $li.hide().slice(++ci, ci+visible).show();
    });
});

http://jsfiddle.net/xRPQj/

  • 0
    я извлекаю данные в базу данных,
  • 0
    @ user2779464 Хорошо, так ...? Значит ли это, что вы хотите лениво загрузить данные? Какое это имеет отношение к показу / скрытию элементов?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню