• Помогите пожалуйста. Хочу на страничке ( http://www.medigermany.ru), в левом меню сделать так, что бы при нажатие мышкой на пункт меню, открывались подпункты и закрывались, если пользователь перейдет через клик на другой пункт меню.
    Code

    <script src="js/jquery-1.4.2.min.js" type="text/javascript" ></script>
    
    <script type="text/javascript">
    jQuery(document).ready(function()
    {
      // links ebene 0
      jQuery("#navigation_links>ul>li").click(
            function()
            {
                jQuery(this).children('ul').show();
                  // return false;
            },
            function(){
                jQuery(this).children('ul').hide();
            }
        ); // #navigation_links>ul>li
      // links ebene 1
         jQuery("#navigation_links>ul>li>ul>li").click(
            function()
            {
                jQuery(this).children("ul").show();
                 // return false;
            },
            function(){
                jQuery(this).children('ul').hide();
            }
        );// Ende #navigation_links>ul>li>ul>li
    });// Ende jQuery(document)
    
    </script>

    CSS:

    #navigation_links {
        clear:both;
        margin:0;
       padding:1.55em 0;
       font-size:1.0em;
       font-weight:bold;
    }
    #navigation_links ul
    {
        list-style-type:none;
        padding:0;
        margin:0.25em 0 0 1em;
        display:block;
    }
    #navigation_links ul li
    {
      margin:0 0 0.1em 0;
      padding:0;
      display:block;
    }
    #navigation_links li.page_item a, #navigation_links li.admintab a
    {
       outline-style:none;
       color:#75b756;
    }
    #navigation_links ul li a:hover
    {
       color:#a85952;
       display:block;
    
    }
    #navigation_links li.current_page_item a
    {
       color:#A85952;
       display:block;
    }
    #navigation_links ul li ul {
       list-style-type:none;
       padding:0;
       display:none;
      margin: 0 0 0 0.5em;
    }
    #navigation_links ul li ul li
    {
       margin:0;
       padding:0.2em 0 0.2em 0;
       display:block;
       line-height:normal;
    }
    #navigation_links ul li ul li.current_page_item a
    {
       display:block;
    }
    #navigation_links ul li ul li ul {
       list-style-type:none;
       padding:0;
       margin: 0 0 0 0.5em;
       display: none;
    }
    #navigation_links ul li ul li ul li
    {
       margin:0;
       padding:0.2em 0 0.2em 0;
       display:block;
       line-height:normal;
    
    }

    На данный момент вышестоящий код срабатывает так, что при нажатие мышкой на пункт меню, подпункты открываются только на время загрузки страницы.
    Если я убераю комментированеслии с строчек «return false;» , то все работает, только сами странички не открываются.

    Пожалуйста помогите.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    jQuery входит в состав WordPress — он подгружается, если плагины его используют. Если нет, можно подключить самостоятельно, написав wp_enqueue_script('jquery'); перед wp_head(). Сейчас он подключается дважды, и версии не совпадают — возможно, проблема в этом.

    Сергей, я добавил эту строчку, убрал прикрепленную версию 1.42 и изменил строчку на jQuery(document).ready(function($). Результат все тот же. На страничке я переключил все на клик. Эффект можно увидеть в пукте «Специализации»
    http://www.medigermany.ru

    Дело в дефолтном обработчике события ckick браузера.
    return false; вы зря закоментировали. И добавьте во 2 функции тоже return false;

    Так должно быть

    $(«#navigation_links li:has(‘ul’)»).toggle(function(){
    $(this).children(‘ul’).show();
    return false;
    },
    function(){
    $(this).children(‘ul’).hide();
    return false;
    });

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «JQuery и меню или функция «click» не срабатывает правильно» закрыта для новых ответов.