Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как бы сделать запоминание нажатых кнопок в меню?...
 
 автор: elenaki   (05.11.2010 в 12:44)   письмо автору
 
 

http://exsite.demo3.icop.gr/

кое-как, через одно место, добилась запоминания нажатого пункта первого уровня. а со вторым и третьим - беда. никак не получается.

вот стили:


/* left menu - categories -  */
#wrap {position:relative; height:500px; width:200px; }
#nav_vert {position:absolute; left:0; top:0; border-bottom: #999 1px solid;  z-index:5;}
#nav_vert, #nav_vert ul {padding:0; margin:0; list-style:none; font-family: MyriadPro, Helvetica, Verdana; background:#58585a; text-indent: 30px;}
#nav_vert ul {font-weight:bold;}

#nav_vert li a {padding-left:5px 5px ; font-weight:bold; color:#fff; text-decoration:none;  display: block; width:200px; height:  auto;}
#nav_vert li a:hover {text-decoration:none; background : #cccccc url(../images/linkarrow.gif) no-repeat right center;}

#nav_vert li ul li a {padding-left:0;  background: #cccccc; display: block; width: 100%; height: 20px; border-bottom: #b9b9b9 1px solid;  height:  auto;  text-indent: 30px;}

#nav_vert li ul li.p2  {padding-left:0;  background: url(../images/linkarrow.gif) 10px 10px no-repeat #cccccc; display: block; width: 100%; height:  auto;  text-indent: 30px; border:none; }

#nav_vert .p2 li a  {padding-left:0;  background: #fff; display: block; width: 100%; height:  auto;  text-indent: 30px; border:none; color: #58585a;}
#nav_vert .p2 li a:hover  {padding-left:0;  background: url(../images/linkarrow.gif) right 10px no-repeat #eaeaea; display: block; width: 100%; height:  auto;  text-indent: 30px; border:none; }

#nav_vert li {font-size:13px; line-height:25px; color:#fff; cursor:pointer; width:100%;}
#nav_vert .p1 li.down {text-indent:2px;  background: url(../images/expanded.gif) 10px 10px no-repeat; font-weight:bold;  text-indent: 30px;}
#nav_vert .p2 li.down {text-indent:2px;  background: url(../images/expanded.gif) 10px 10px no-repeat; font-weight:bold;  text-indent: 30px;}

#nav_vert li ul li.p2 ul li {padding-left:0;  background: url(../images/linkarrow.gif) right 10px no-repeat #eaeaea; display: block; width: 100%; height:  auto;  text-indent: 30px; border:none; }




вот пример меню:


<ul id="nav_vert">
       <li style="border: #fff 1px solid; border-bottom: none;"><a href="#" onclick="loadGallery(1);"><b>COMPANY</b></a></li>
    <li style="border: #fff 1px solid; border-bottom: none;"><a href="#" onclick="loadGallery(2);"><b>SERVICES</b></a></li>

    <li class="p1 down"  style="border: #fff 1px solid; border-bottom: none;">GALLERY 
       <ul>
              <li><a href="#" onclick="loadGallery(4);">SHOPS</a></li>    
            <li class="p2 down">STANDS</a>
              <ul>
                 <li><a href="#" onclick="loadGallery(6);">tailor made</a></li>
                 <li><a href="#" onclick="loadGallery(7);">jeans collection</a></li>
        
              </ul>    
            </li>    
          </ul>
    </li>

    <li style="border: #fff 1px solid; border-bottom: none;"><a href="#" onclick="loadGallery(8);"><b>CONTACT</b></a></li>
</ul>    

  Ответить  
 
 автор: deimand   (06.11.2010 в 22:23)   письмо автору
 
   для: elenaki   (05.11.2010 в 12:44)
 

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

<a id="id_group:id_number" href="#" onclick="loadGallery(7);">jeans collection</a>

  Ответить  
 
 автор: elenaki   (07.11.2010 в 17:14)   письмо автору
 
   для: deimand   (06.11.2010 в 22:23)
 

id есть. не помогает
# мне не мешает. а кому-то мешает? перехода по ссылке мне не нужно, поэтому и ставлю "решетку". могу, наверно, поставить return false, только это больше места занимает...

  Ответить  
 
 автор: sl1p   (07.11.2010 в 21:23)   письмо автору
 
   для: elenaki   (07.11.2010 в 17:14)
 

на 0.00000500 килобайтов больше) супер логика) лучше пусть прыгает страница)

  Ответить  
 
 автор: elenaki   (07.11.2010 в 21:25)   письмо автору
 
   для: sl1p   (07.11.2010 в 21:23)
 

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

  Ответить  
 
 автор: psychomc   (07.11.2010 в 22:35)   письмо автору
 
   для: elenaki   (07.11.2010 в 21:25)
 

когда ж программисты перестанут лениться и будут писать сами...

  Ответить  
 
 автор: elenaki   (08.11.2010 в 11:40)   письмо автору
 
   для: psychomc   (07.11.2010 в 22:35)
 

лень - двигатель прогресса. изобретать каждый раз велосипед у меня просто нет времени.

  Ответить  
 
 автор: psychomc   (08.11.2010 в 12:16)   письмо автору
 
   для: elenaki   (08.11.2010 в 11:40)
 

так а разве надо каждый раз? один раз

  Ответить  
 
 автор: deimand   (07.11.2010 в 22:33)   письмо автору
 
   для: elenaki   (07.11.2010 в 17:14)
 

<style>.mm{color:#000000;}</style>
<a class="mm" id="idmm,1" onclick="req('a', 'idmm', 1, function(id){cred(id)}, function(id){cblack(id)})">ссылка 11</a>
<br><a class="mm" id="idmm,2" onclick="req('a', 'idmm', 2, function(id){cred(id)}, function(id){cblack(id)})">ссылка 12</a>
<br><a class="mm" id="idmm,3" onclick="req('a', 'idmm', 3, function(id){cred(id)}, function(id){cblack(id)})">ссылка 13</a>
<br><br><a class="mm" id="idmmm,1" onclick="req('a', 'idmmm', 1, function(id){cred(id)}, function(id){cblack(id)})">ссылка 21</a>
<br><a class="mm" id="idmmm,2" onclick="req('a', 'idmmm', 2, function(id){cred(id)}, function(id){cblack(id)})">ссылка 22</a>
<br><a class="mm" id="idmmm,3" onclick="req('a', 'idmmm', 3, function(id){cred(id)}, function(id){cblack(id)})">ссылка 23</a>
<script>
   function gt(obj)
   {
     return document.getElementsByTagName(obj);
   }
   function ge(id)
   {
     return document.getElementById(id);
   }

function req(tag, name, num, f1, f2)
{
    var tar = gt(tag);
    for (i = 0; i < tar.length; i++)
    {
      var id = tar[i].id.split(',');
      if (id[0] == name)
      {

        if (id[1] == num) f1(id); else f2(id);
      }
    }
}

function cblack(id)
{
  ge(id).style.color = '#000000';
}

function cred(id)
{
  ge(id).style.color = '#0080FF';
}
</script>

  Ответить  
 
 автор: elenaki   (08.11.2010 в 09:37)   письмо автору
 
   для: deimand   (07.11.2010 в 22:33)
 

не впечатлило.
если вы заметили, для первого уровня меню я сделала запоминание. для последующих по тому же принципу - не получается.

  Ответить  
 
 автор: АЯ   (07.11.2010 в 08:11)   письмо автору
 
   для: elenaki   (05.11.2010 в 12:44)
 

elenaki, зайдите на Ваш сайт http://exsite.demo3.icop.gr/ и кликните по любому из пунктов меню.
И посмотрите на адресную строку браузера после клика: она станет у Вас такой - http://exsite.demo3.icop.gr/#

Знаете, почему? :-)

PS. По сути вопроса, увы, ничем помочь не смогу. Jquery - это не моё.

  Ответить  
 
 автор: AlexSol   (08.11.2010 в 14:17)   письмо автору
 
   для: elenaki   (05.11.2010 в 12:44)
 

а о каком запоминании разговор? по f5 все сбрасывается

  Ответить  
 
 автор: elenaki   (08.11.2010 в 15:55)   письмо автору
 
   для: AlexSol   (08.11.2010 в 14:17)
 

пусть сбрасывается по f5. надо запоминать до следующего клика по какому-либо пункту меню.
чтобы всегда было видно, на какой странице находимся. похоже, уберу я Аякс и буду делать переходы по страницам. уже всю голову сломала.

  Ответить  
 
 автор: AlexSol   (08.11.2010 в 16:10)   письмо автору
 
   для: elenaki   (08.11.2010 в 15:55)
 

так поставьте для ссылок

<a href="#" onclick="loadPage(2); cat_changeBG(0);return false;"><b>&#917;&#932;&#913;&#921;&#929;&#917;&#921;&#913;</b></a>

  Ответить  
 
 автор: elenaki   (08.11.2010 в 17:06)   письмо автору
 
   для: AlexSol   (08.11.2010 в 16:10)
 

поставила. ничего не меняется. запоминается состояние после клика только первого уровня...

надо как тут
http://demo.koolphp.net/Examples/KoolSlideMenu/Features/MultiLevels/index.php
но этот скрипт такой огромный...

  Ответить  
 
 автор: AlexSol   (08.11.2010 в 19:44)   письмо автору
 
   для: elenaki   (08.11.2010 в 17:06)
 

кажется понял что нужно :)

$(function(){
$('#nav_vert a').click(function(){
$('#nav_vert a').removeClass('active')
$(this).addClass('active')
return false;
})
})

у нажатой ссылки будет класс "active"

  Ответить  
 
 автор: elenaki   (08.11.2010 в 20:13)   письмо автору
 
   для: AlexSol   (08.11.2010 в 19:44)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования