Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2020, 10:21
Новичок на форуме
Отправить личное сообщение для Simurg Посмотреть профиль Найти все сообщения от Simurg
 
Регистрация: 23.12.2015
Сообщений: 5

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


Вот код HTML

<ul class='left_nav_menu' id='nav_menu_content'>

    <li align=center  style="COLOR:white; background-color:#F06456">Налоги</li>


    <li><a href='#0'> Налоговая система</a>

        <ul>

                    <li><a href="nalog.php?n=101"> Налоговая система</a></li>

                    <li><a href="nalog.php?n=102"> Налоговая система</a></li>

                    <li><a href="nalog.php?n=103"> Налоговая система</a></li>

                    <li><a href="nalog.php?n=104"> Налоговая система</a></li>

                    <li><a href="nalog.php?n=105"> Налоговая система</a></li>

        </ul>
    </li>

</ul>

 

<!-- Вызываем инициализацию скрипта по "onload" пиксельной картинки -->
<img src="http://s3.uploads.ru/xh6sQ.gif" onload="InitFunk()"/>



Вот код javascript

function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}


var  InitFunk = function() {
	var nav = $("#nav_menu_content");
	var uls = nav.find("ul");

        
	var coci_MENU= getcookie( "MENU" );
	if (coci_MENU) {
	setcookie( "MENU",coci_MENU ,30*3600*24*1000 );

	// тут получаем индексы из куки и перебираем их:
        var showedElems = ( coci_MENU || "" ).split(",");
        for( var i = 0; i < showedElems.length; i++ ) {
            // отображаем при загрузке то что надо.
            $( uls[ showedElems[ i ] ] ).prev('a').addClass('active')  //Добавляем класс к Активным эл-там меню;
            $( uls[ showedElems[ i ] ] ).show();
        }}


        //Добавляем класс к ссылке на текущую страницу, если она есть;
        var Url = document.URL.split('#')[0];
        $('> li ul',nav).find('a:not([href^="#"])').each(function() {
            var S = $(this).attr('href').split('#')[0];
            if(S&&Url.indexOf(S)!=-1) $(this).parent().addClass('a-active');
        });

        nav.find("a").click(function() {
            var Lnk=$(this).attr("href");
            if(Lnk==''||Lnk.indexOf('#')==0) setcookie( "MENU",1 ,-1);
            var self = $(this).next();
            if ( self.length == 0 ) return;


            var showedElems = [];
            uls.each(function( index ){

                    if ( this === self[0] ) {
                        if ( self.css('display') == "none" ) {
                            showedElems.push(index);
                           $(this).prev('a').addClass('active');
                        }  else $(this).prev('a').removeClass('active');
                                $( this ).slideToggle( 200 );return true; } 
                    
                    if ( jQuery.inArray( this, self.parents( "ul" ) ) == -1 ) {
                        $(this).prev('a').removeClass('active');
                        $(this).slideUp(400);
                        return true;
                    }
                    showedElems.push(index);
            });
                // эту переменную  суём в куки,
                setcookie( "MENU", showedElems.join(",") ,30*3600*24*1000 );

                return false;

        });

/* это не работает

предлагали
добавьте в скрипт после вашего кода

$(function () {
    $('#nav_menu_content li>a').eq(0).click();
});
*/

    
}



Вот мой сайт. Вот линк например

https://www.e-muhasib.az/muhasib.php?n=711

Меню аккордеона при этом не раскроет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правила для всплывающего окна при уходе со страницы. sheneman Общие вопросы Javascript 7 22.09.2015 15:23
Блокировка скролла всей страницы при наведении на элемент TimofeyEid jQuery 2 06.09.2015 14:30
Вывод radio checked при перезагрузке страницы arhat78 Общие вопросы Javascript 21 15.05.2015 14:01
Как вызвать функцию при загрузке страницы? Yevgeniy Events/DOM/Window 1 30.01.2013 17:34
Выезжающие\уезжающие div при загрузке страницы goodkot Элементы интерфейса 1 28.09.2012 08:58