Skrypt zniknął po dodaniu nowego diva

0

Cześć Panowie

Z góry przepraszam za być może głupie pytanie ale ze skryptami u mnie słabo.
Muszę przebudować strukturę jednego z elementów - w tym celu dodaję nowego diva (container-fluid) i umieszczam w nim zawartość. Wizualnie jest ok, jednak w oryginale jest skrypt, który mi znika po mojej modyfikacji.

Tak wygląda skrypt:
https://jsfiddle.net/8x7c1e5L/ (od wiersza 59).

Próbowałem modyfikować/dodawać pewne rzeczy ale bez rezultatu.

Z góry dzięki za pomoc :)

0

Zapodaj też strukturę html, bo sam js mało mówi.

0

Tzn. jak znika? Zniknąć nie może, może najwyżej przestać działać.
Podejrzewam, że element, który dodajesz jest jakoś uwalony i robi się coś w stylu:

<div style="></div>
<script></script>

gdzie część kodu zostaje uznana za niezamknięty parametr.

0
Freja Draco napisał(a):

Tzn. jak znika? Zniknąć nie może, może najwyżej przestać działać.
Podejrzewam, że element, który dodajesz jest jakoś uwalony i robi się coś w stylu:

<div style="></div>
<script></script>

gdzie część kodu zostaje uznana za niezamknięty parametr.

Jasne, przestaje działać.

Dodałem HTML - https://jsfiddle.net/f5yc3ze4/

W narzędziu developerskim Firefoxa event występuje po <div class="cat-title"></div> (gdy działa).
Skrypt przestaje działać ( :) ) po dodaniu (i zamknięciu oczywiście) diva z klasą container-fluid.

1

Cześć Panowie

A co z Paniami oraz smoczycami? :P

1

A tak poza kwestiami grzecznościowymi, powiedz mi co oznacza fragment {$MENU} {if $MENU_SEARCH} w kodzie HTML?

Poza tym konsola wywala następujący błąd: jQuery.Deferred exception: categoryMenu.superfish is not a function / TypeError: categoryMenu.superfish is not a function

1

No ale to nie jest dodaję DIV-a tylko dodaję DIV-a z kodem JavaScript + jQuery.
Nie znam się na jQuery, ale zapewne w tym dodawanym kodzie jest błąd, przez co całość się sypie.

1
cerrato napisał(a):

Cześć Panowie

A co z Paniami oraz smoczycami? :P

A to przepraszam bardzo - mój błąd. Za to Panie dostają uściski zupełnie gratis :)

A wracając do tematu, będę wiedział na zaś jeśli chodzi o porządek dodawanego kodu.
To jest ogólnie plik tpl - ja go nie modyfikowałem poza dodaniem wspomnianego diva. Dlatego zastanawia mnie gdzie tkwi przyczyna...

1

To jest ogólnie plik tpl

Zatem nie możesz go po prostu wrzucić na stronę, PHP musi go wcześniej przetworzyć do postaci wynikowej:
https://pl.wikibooks.org/wiki/PHP/Smarty

Dlatego zastanawia mnie gdzie tkwi przyczyna...

Poza tym twój kod JavaScript + jQuery tak czy siak wyrzuca w konsoli błędy:
jQuery.Deferred exception: categoryMenu.superfish is not a function
TypeError: categoryMenu.superfish is not a function
Nawet bez tego DIVa z szablonami.

0
Freja Draco napisał(a):

To jest ogólnie plik tpl

Zatem nie możesz go po prostu wrzucić na stronę, PHP musi go wcześniej przetworzyć do postaci wynikowej:
https://pl.wikibooks.org/wiki/PHP/Smarty

A tu się jednocześnie mylisz i masz rację :) . Masz rację bo tak to rzeczywiście działa i się mylisz bo w tym przypadku rekompilacja templatek następuje automatycznie (to PrestaShop - takie mam ustawienia Smarty).

Zmiany są widoczne na stronie, warto pewnie wyeliminować błędy o których mówicie ale tak to jest jak na razie się miało mało do czynienia ze skryptami (a elementy o które mi chodzi przed moją zmianą działają jak należy). Dlatego pytanie pozostaje otwarte: gdzie przyczyna?

0

Te dodatkowe znaki w stylu {$MENU} to smarty z prestashop a pliki .tpl to szablony różnych elementów sklepu. Skrypt sklepu automatycznie je przerabia na odpowiedni kod więc spokojnie można je edytować tak jak kolega to robi.

Pokaż może co dodałeś, jak to działało wcześniej i jak powinno teraz.

0

Dzięki karpov.

Chodzi o ikonkę, która, po kliknięciu na nią, rozwija menu. Dodałem tylko zewnętrzny kontener (z klasą container-fluid) i tyle.
Jeśli chodzi o aspekt wizualny wszystko jest ok - rozciąga mi menu, natomiast skrypt przestaje wówczas działać i menu się nie rozwija.
Zależy mi na tym by po zmianie nadal się rozwijało.

0

Nie wiem jak to dokładnie działa i czemu się wykrzacza ale jak musisz dodać jakieś style to może spróbuj w cssie dopisać po prostu te swoje do już istniejącej klasy?

.sf-contener {
tutaj Twoje style
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1