событие «скрыть» на последних пунктах списка - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь выполнить нумерацию страниц для Bing API 2.0. Чтобы показать номера нумерации страниц, я установил этот код:

 if (webResultTotal > 100)
        {

            $('.numbers:lt('+(100)+')').show();
}

Это означает, что если результаты более 100, то должны отображаться 100 номеров нумерации страниц (с номерами классов). Обычно они имеют дисплей: нет;

Так что моя проблема в том, что если результаты меньше 100. Я попытался решить эту проблему:

if (webResultTotal < 100)
        {

            $('.numbers:lt('+Math.min(webResultTotal)+')').hide();

        } 

Это скроет числа, которые выглядят так:

<li class="numbers"><a href="#"> 1 </a></li>
<li class="numbers"><a href="#"> 2 </a></li>
<li class="numbers"><a href="#"> 3 </a></li> etc..

Проблема в том, что он будет скрывать НАЧАЛО С ПЕРВОГО списка, а не прятать последние цифры. Таким образом, он не будет отображать 1,2,3 Вместо этого он будет скрывать их и показывать последний из элементов li. Как изменить код, чтобы скрыть его отрицательно, поэтому скрывайте элементы li с конца ---> начинайте, а не наоборот?

Обратите внимание, что я сократил свой код, чтобы сделать вопрос простым, мой реальный код выглядит иначе.

1 Ответ

1 голос
/ 27 марта 2012

Учитывая, что у вас есть "очень большое" количество элементов .numbers на вашей странице, и вы хотите показать / скрыть соответствующее число в зависимости от количества возвращаемых результатов, хорошим решением будет:

var itemsToShow = Math.min(webResultTotal, 100);
$("li.numbers").slice(0, itemsToShow).show().end().slice(itemsToShow).hide();

Однако концепция предварительного заполнения страницы множеством элементов может быть не лучшим подходом по сравнению с генерацией элементов, как это требуется на лету;к сожалению, это невозможно решить без дополнительной информации.

...