Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите реализовать

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Менюшка
Alex27
Отправлено: 18 Октября, 2013 - 16:54:41
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Всем привет, сразу оговорюсь я только учусь и поэтому нужна помощь.
Есть обычное html меню типа:
<ul>
<li class="1"><a href="ссылка" title=""></a></li>
<li class="2 "><a href="ссылка" title=""></a></li>
<li class="3 "><a href="ссылка" title=""></a></li>
</ul>
по задумке нужно реализовать две стрелки листалки по меню, т.е. левая стрелка листает влево до 1 а правая до 3 по очереди:
<a href="" class="page-nav-back"></a>
<a href="" class="page-nav-next"></a>.
Прошу помощи у знающих, ибо мои мозги не могут реализовать данную функцию.
Или хотя-бы подсказку, в каком направлении идти.

(Отредактировано автором: 20 Октября, 2013 - 14:12:17)

 
 Top
DelphinPRO
Отправлено: 18 Октября, 2013 - 18:19:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Задача непонятно сформулирована..


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Squirrel
Отправлено: 18 Октября, 2013 - 20:00:00
Post Id


Забанен


Покинул форум
Сообщений всего: 147
Дата рег-ции: Авг. 2013  


Помог: 4 раз(а)

[+]


DelphinPRO пишет:
Задача непонятно сформулирована..

Судя по написанию, ему надо кнопки "на следующую" и на "предыдущую".

Alex27 пишет:
Прошу помощи у знающих, ибо мои мозги не могут реализовать данную функцию.
Или хотя-бы подсказку, в каком направлении идти.

Для начала тебе все ссылки нужно в массив загнать, или ручками кучу кода написать.
А судя по коду, идти надо в сторону учебников с основами HTML, CSS, а потом по PHP.
 
 Top
Alex27
Отправлено: 20 Октября, 2013 - 14:11:37
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Squirrel пишет:
Для начала тебе все ссылки нужно в массив загнать, или ручками кучу кода написать.
А судя по коду, идти надо в сторону учебников с основами HTML, CSS, а потом по PHP.

Спасибо за идею, реализовал кучей кода, хочу попробовать еще массивом.
 
 Top
LIME
Отправлено: 20 Октября, 2013 - 14:51:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я бы это делал на js
как-то меня напрягает необходимость перегружать страницу из-за 3ёх ссылок
я бы положил наборы ссылок в массив(вернее только данные)
и обновлял данные для ссылок запоминая при этом в переменной текущий номер набора
если кол-во страниц листалки огромно можно прикрутить AJAX
 
 Top
MAXUS
Отправлено: 20 Октября, 2013 - 16:15:23
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011  


Помог: 7 раз(а)




Alex27 пишет:
Всем привет, сразу оговорюсь я только учусь и поэтому нужна помощь.
Или хотя-бы подсказку, в каком направлении идти.


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <!DOCTYPE html>
  4. <html>
  5.  
  6. <head>
  7. <style type="text/css">
  8. [data-mark=true]{
  9. background: red;
  10. }
  11. </style>
  12. <script type="text/javascript">
  13. var num=0;
  14. var elements=false;
  15. function up(){
  16.         if(!elements)elements=document.getElementById("menu").getElementsByTagName("li");
  17.         if(num>0){
  18.                 elements[num].dataset.mark=false;
  19.                 num--;
  20.                 elements[num].dataset.mark=true;
  21.         }
  22. }
  23. function down(){
  24.         if(!elements)elements=document.getElementById("menu").getElementsByTagName("li");
  25.         if(num<elements.length-1){
  26.                 elements[num].dataset.mark=false;
  27.                 num++;
  28.                 elements[num].dataset.mark=true;
  29.         }
  30. }
  31. </script>
  32. </head>
  33.  
  34. <body>
  35.  
  36. <ul id="menu">
  37.         <li data-mark=true>1</li>
  38.         <li>2</li>
  39.         <li>3</li>
  40.         <li>4</li>
  41.         <li>5</li>
  42. </ul>
  43.  
  44. <button onclick="up()">UP</button>
  45. <button onclick="down()">DOWN</button>
  46. </body>
  47. </html>
  48.  
  49.  


Кодировку не учитывал.
(Добавление)
Squirrel пишет:

Судя по написанию, ему надо кнопки "на следующую" и на "предыдущую".


А если это, то:

<button onclick="history.back()">back</button>
<button onclick="history.forward()">next</button>
(Добавление)
А если надо листалку только по ссылкам из списка UL, то вот как можно. При этом список нигде хранить не надо, но ссылки должны быть прямыми (не относительными). Алгоритм такой, ищем текущий URL(т.е. URL страницы, на которой находимся) в списке, если находим, то переходим к следующей или предыдущей ссылке из списка, или остаемся на текущем URL, если следующего или предыдущего элемента нет. Если текущего URL нет в списке, то, соответственно, также ничего не происходит.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <!DOCTYPE html>
  4. <html>
  5.  
  6. <head>
  7. <script type="text/javascript">
  8. function back(){
  9.         elements=document.getElementById("menu").getElementsByTagName("a");
  10.         for(var i=1;i<elements.length;i++){
  11.                 if(location.href==elements[i].href){
  12.                         location.assign(elements[i-1].href);
  13.                         break;
  14.                 }
  15.         }
  16. }
  17. function forward(){
  18.         elements=document.getElementById("menu").getElementsByTagName("a");
  19.         for(var i=0;i<elements.length-1;i++){
  20.                 if(location.href==elements[i].href){
  21.                         location.assign(elements[i+1].href);
  22.                         break;
  23.                 }
  24.         }
  25. }
  26. </script>
  27. </head>
  28.  
  29. <body>
  30.  
  31. <ul id="menu">
  32.         <li><a href="http://test/temp/index2.php">0</a></li>
  33.         <li><a href="http://test/temp/index2.php#1">1</a></li>
  34.         <li><a href="http://test/temp/index2.php#2">2</a></li>
  35.         <li><a href="http://test/temp/index2.php#3">3</a></li>
  36.         <li><a href="http://test/temp/index2.php#4">4</a></li>
  37.         <li><a href="http://test/temp/index2.php#5">5</a></li>
  38. </ul>
  39.  
  40. <button onclick="back()">back</button>
  41. <button onclick="forward()">next</button>
  42.  
  43. </body>
  44. </html>
  45.  
  46.  


Просто создание массива - это по сути дублирование списка. Т.е., фактически, список у нас и является массивом, поэтому все так просто без кучи кода.

(Отредактировано автором: 20 Октября, 2013 - 18:23:53)

 
 Top
Alex27
Отправлено: 21 Октября, 2013 - 11:20:29
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Всем большое спасибо за помощь!!!
MAXUS в особенности большое спасибо! Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB