Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458

Меню навигации

15.04.2013, 22:10. Показов 1132. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет,подскажите,пожалуйста, думаю над меню навигации,знаете типо 1 2 3 4 5 6 7 8,но хотелось бы нажимаешь на 5,и уже 1 и 2 например не показываются. пример:
Java
1
2
[B]1[/B] 2 3 4 5 6 7 8 9
 2 3 [B]4[/B] 5 6 7 8
Вот мини прототип

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
 
public class pagmen {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
 
        System.out.println("Введите вашу страницу: ");
        Scanner sc = new Scanner(System.in);
        int pages = sc.nextInt();
 
        System.out.println("<a>" + pages + "</a>");
 
        System.out.println("next на страницу вперед,prev на страницу назад");
        Scanner scl = new Scanner(System.in);
        String line = scl.nextLine();
        if (line.equals("next")) {
            int next = pages + 1;
            System.out.println("<a>" + next + "</a>");
        }
 
        if (line.equals("prev")) {
            int prev = pages - 1;
            System.out.println("<a>" + prev + "</a>");
        }
    }
 
}
Ну и скнопками next pre,их надо тоже как-то сделать)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2013, 22:10
Ответы с готовыми решениями:

Зажатие клавиши навигации
Подскажите, как организовать проверку на зажатие клавиш &quot;влево&quot; и &quot;вправо&quot;? Зажатие Shift проверяется вот так: if (event.isShiftDown())....

Меню навигации, подсветка выбраного меню
Здравствуйте. В шаблоне есть меню &lt;ul id=&quot;nav&quot;&gt; &lt;li...

меню навигации
Добрый день! Я в этом не очень разбираюсь. В боковом вертикальном блоке навигации при нажатии на раздел выпадает подразделы. Как можно...

6
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
16.04.2013, 12:21
А в чем проблема, не совсем понятно?
1
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
16.04.2013, 13:52  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
А в чем проблема, не совсем понятно?
)).Ну смотрите,задача сделать меню такое:
Java
1
1 2 3 4 5 6 7
И чтобы когда,на ,например, 5 нажимаешь,то меню двигалось:
Java
1
3 4 5 6 7
Ну а кнопки next pre,я сам потом подключу )

Добавлено через 1 минуту
как в гуле нажимаешь на 10,там 1 не видно уже
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
16.04.2013, 16:44
Задача понятна. Непонятна проблема. Что Вы уже сделали и что не получается?
1
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
16.04.2013, 16:50  [ТС]
Вот я показал маленький прототип,но проблема в том,что он выводит цифру одну,в нем нет такого,чтобы проверка была,цифры в меню от нуля и до макс. значения.Я думал массивом сделать,но ведь он просто массивом выведет цифры.Можно так еще:
Java
1
2
3
4
5
<a href="https://www.cyberforum.ru/java-j2se/+(i-1-1)+..
<a href="+(i-1)+..
<a href="https://www.cyberforum.ru/java-j2se/+i+..
<a href="+(i+1)+..
<a href="https://www.cyberforum.ru/java-j2se/+(i+1+1)+..
Но тут встает проблема,если i-1=0,а такой страницы нет
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
16.04.2013, 17:23
То есть проблема с алгоритмом? Ок. Пусть максимальное количество страниц N, текущая i. Диапазон страниц - от x до y. Все номера считаются с 0. Показываем 5 страниц.

1. Если i < 2, то x=0, иначе x=i-2;
2. Если i > N-2, то y=N, иначе y=i+2
3. Если (y-x<4) то:
3.1 Если (i-x<2), то y=min(x+4, N)
иначе x=max(y-4, 0)

Всё. После этого выводите страницы от x до y включительно.
1
68 / 68 / 1
Регистрация: 21.12.2012
Сообщений: 458
17.04.2013, 15:14  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Все номера считаются с 0.
C 1

Добавлено через 10 минут
Цитата Сообщение от Skipy Посмотреть сообщение
1. Если i < 2, то x=0, иначе x=i-2;
2. Если i > N-2, то y=N, иначе y=i+2
3. Если (y-x<4) то:
3.1 Если (i-x<2), то y=min(x+4, N)
иначе x=max(y-4, 0)
Всё. После этого выводите страницы от x до y включительно.
Вот ничего понял(,давайте лучше кодом посмотрим:
Я думал примерно так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.util.Scanner;
 
public class pagmen {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
 
        System.out.println("Введите вашу страницу: ");
        Scanner sc = new Scanner(System.in);
        int pages = sc.nextInt();
 
        int max = 10;// максимально страниц примерно
        System.out.println("<a>" + pages + "</a>");
 
        System.out.println("next на страницу вперед,prev на страницу назад");
        Scanner scl = new Scanner(System.in);
        String line = scl.nextLine();
        if (line.equals("next")) {
            int next = pages + 1;
            System.out.println("<a>" + next + "</a>");
        }
 
        if (line.equals("prev")) {
            int prev = pages - 1;
            System.out.println("<a>" + prev + "</a>");
        }
//Skipy,вот начало
        int p = pages - 1;
        int g = pages - 2;
        int c = pages + 1;
        int k = pages + 2;
 
        if (pages == 0 && pages < 0) {
            System.out.println("Такой страницы нет");
        } else {
            if (g == 0 && g < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + g + "</a>");
            }
            if (p == 0 && p < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + p + "</a>");
            }
            System.out.println("<a>" + pages + "</a>");// текущая страница
            if (c == 0 && c < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + c + "</a>");
            }
            if (k == 0 && k < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + k + "</a>");
            }
        }
    }
 
}
Добавлено через 5 минут
Точнее,наверно ,корректна такая запись:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.util.Scanner;
 
public class pagmen {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
 
        System.out.println("Введите вашу страницу: ");
        Scanner sc = new Scanner(System.in);
        int pages = sc.nextInt();
 
        int max = 10;// максимально страниц примерно
        System.out.println("<a>" + pages + "</a>");
        /*
         * System.out.println("next на страницу вперед,prev на страницу назад");
         * Scanner scl = new Scanner(System.in); String line = scl.nextLine();
         * if (line.equals("next")) { int next = pages + 1;
         * System.out.println("<a>" + next + "</a>"); }
         * 
         * if (line.equals("prev")) { int prev = pages - 1;
         * System.out.println("<a>" + prev + "</a>"); }
         */
        int p = pages - 1;
        int g = pages - 2;
        int c = pages + 1;
        int k = pages + 2;
        System.out.println("=======================");
        if (pages == 0 && pages < 0) {
            System.out.println("Такой страницы нет");
        } else {
            if (g == 0 || g < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + g + "</a>");
            }
            if (p == 0 || p < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + p + "</a>");
            }
            System.out.println("<a>" + pages + "</a>");// текущая страница
            if (c == 0 || c < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + c + "</a>");
            }
            if (k == 0 || k < 0) {
                System.out.println("page no");
            } else {
                System.out.println("<a>" + k + "</a>");
            }
        }
    }
 
}
Добавлено через 1 час 17 минут
Евгений,что думаете?о коде выше

Добавлено через 18 часов 37 минут
Цитата Сообщение от Skipy Посмотреть сообщение
Всё. После этого выводите страницы от x до y включительно.
Вот,все-таки,что думаете об алгоритме выше,есть в нем заковыки?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2013, 15:14
Помогаю со студенческими работами здесь

Меню навигации
Имеем выпадающе меню, при наведени на основной пункт он меняет картинку background-position. Когда наводим на развернутые подпункты этого...

Меню Навигации
Помогите сделать меню навигации. Немогу расположить между ними граффические разделители. Они получаются в высоту текста меню (а должны...

Неизменяемое меню навигации
Написал выпадающее меню, но при изменении размера страницы оно становится в 2 ряда и глючит, как его оставить в один ряд? Или сразу что бы...

Фиксированное меню навигации
Доброго времени суток! У меня сбоку есть блок фиксированной ширины, в нем элементы header и footer. Проблема такая, что когда увеличиваешь...

Отображение меню навигации в IE
Здравствуйте. Столкнулся с такой проблемой: делаю резиновое меню навигации с помощью свойств css display: table-row и display: table-cell....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru