Skocz do zawartości

Zdjęcie
- - - - -

W czym zrobiłem błąd? Nie dodaje klasy "aktif" w MyBB


6 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
X3nO

    Nowy użytkownik

  • 2 postów
0
Neutralna

Napisano 04 maja 2015 - 16:21

#1

Witam, ostatni zacząłem się bawić z JS, to jest moja pierwsza styczność z tym językiem.

Szablon do zmieniania się klasy:
<div class="menu">
           <li><a class="aktif" href="{$mybb->settings['bburl']}/index.php"><strong>Forum</strong></a></li>
           <li><a class="#" href="{$mybb->settings['bburl']}/search.php"><i class="fa fa-search"></i> <strong>Szukaj</strong></a></li>
           <li><a class="#" href="mtasa://188.165.20.131:22120" title="MTA SA"><span style="text-shadow: 0px 0px 10px #008590; color: #008590;"><strong><i class="fa fa-gamepad"></i>GRAJ!</strong></span></a></li>
           <li><a class="#" href="{$mybb->settings['bburl']}/memberlist.php"><i class="fa fa-group"></i> <strong>Użytkownicy</strong></a></li>
           <li><a class="#" href="{$mybb->settings['bburl']}/calendar.php" title="Kalendarz"><strong><i class="fa fa-calendar"></i> {$lang->toplinks_calendar}</strong></a></li>
           <li><a class="#" href="{$mybb->settings['bburl']}/misc.php?action=help" title="Pomoc"><strong>{$lang->toplinks_help}</strong></a></li>

      </div>

Oraz mój kod JS:

    file_name = document.location.href;
    file_end = (file_name.indexOf("?") === -1) ? file_name.length : file_name.indexOf("?");
    file_page = file_name.substring(file_name.lastIndexOf("/") + 1, file_end);
    file_page = file_page.replace('.php', '').replace('#', '');

    $('body').addClass("page_" + file_page);

    if (file_page !== '') {
        $('.menu li').removeClass('#');
        $(".menu")
            .find('a[href *="' + file_page + '.php"]')
            .parent("a")
            .addClass("aktif");
    }

  • 0

Zimistrz

    Stary wyjadacz

  • 465 postów
    • Czas spędzony online: 14d 2h 42m 38s
116
Znakomita!

Napisano 04 maja 2015 - 18:05

#2

Chcę ci tylko zwrócić uwagę, abyś nie pokładał nadziei w tym, że ktokolwiek będzie przeklejał kod, składając z tego htmla, odpalał w przeglądarce i debugował.

Ani do pliku, ani do jakiegokolwiek serwisu online wspomagającego tworzenie kodu w trybie live, jak chociażby jsfiddle.

Chyba że ktoś będzie miał wybitnie dużo wolnego czasu, a jeszcze więcej chęci

 

e: O ile kod dot. skryptu forum w ogóle da się odpalić w sensowny sposób


  • 0

writen

    Stary wyjadacz

  • 458 postów
    • Czas spędzony online: 29d 22h 59m 44s
133
Znakomita!

Napisano 04 maja 2015 - 20:51

#3

Używaj operatorów porównania i nierówności (== oraz !=).

Tego czy kod jest poprawny nie chce mi się sprawdzać.


  • 0

logo-green-dark.png


X3nO

    Nowy użytkownik

  • 2 postów
0
Neutralna

Napisano 04 maja 2015 - 21:42

#4
Adres forum : 4strike.c0.pl
  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 06 maja 2015 - 12:07

#5

No wiadomo że nie będzie działać. Tzn działa, ale nie widzisz zmian ponieważ zaraz po kliknięciu w link, nadaniu mu klasu aktif strona zostaje przeładowana (przeniesienie za pomocą klika w link), co z kolei powoduje wczytanie defaultowych ustawień co do klas (z html).

 

Takie coś musisz z poziomu templatki forum ustawić na zasadzie if strona == szukaj nadaj klase buttonowi do szukaj etc...


  • 1

webDeveloper


Mattheo

    Nowy użytkownik

  • 38 postów
    • Czas spędzony online: 2d 8h 32m 56s
20
Bardzo dobra

Napisano 10 maja 2015 - 08:31

#6
Najprostsze rozwiązanie to nadanie dla body id na poszczególnych podstronach (forum, portal, lista użytkowników itp). Do tego nadać klasy dla elementów menu: <a class="forums_nav" itp. Do css
#forums .forums_nav,
#portal .portal_nav /*itd*/
{ /*styl aktywnego elementu*/ }

Użytkownik Mattheo edytował ten post 10 maja 2015 - 08:32

  • 2

pomacz
0
Neutralna

Napisano 25 stycznia 2016 - 08:02

#7

Nowe id powinno rozwiązać problem


  • 0





Podone tematy Collapse

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych