Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Oryginalnego skryptu 'expander'

Szukam  Założony przez  KaRive.

wersja skryptu MyBB: 1.6.7
adres forum: sheepcraft.xaa.pl
na czym polega problem (screen, opis, komunikaty, nazwa stylu/theme/szablonu):
Krótko - podczas zabawy skryptami prawdopodobnie przez przypadek usunięty został skrypt odpowiadający za "zwijanie" działów. Teraz po naciśnięciu buttonu nic się nie dzieje, ale sam button z "title" i "alt" został. Nazwa stylu to "Apart 1".

Mogę liczyć na rychłą pomoc? ^^''
Wgraj go z oryginalnej paczki mybb?
Ale który to jest?

W tym właśnie rzecz. Nie mogę go znaleźć.
A dodawałeś jakieś efekty jQuery do stylu?
Tak, dodawaliśmy. Tworzę sieć z kolegą i wiem co nieco, go teraz nie ma.
Macie konflikt bibliotek na waszym forum.

Dodajcie w ACP -> Style i szablony -> Szablony -> szablony nieugrupowane -> headerinclude:
<script>jQuery.noConflict();</script>
Tak jak napisał Cirasean dodajcie na końcu headerinclude:
<script type="text/javascript">jQuery.noConflict();</script>

A w skryptach JS zmieńcie wszystkie $ na jQuery
Dodałem tą linijkę do headerinclude, lecz nie rozumiem tego:
Cytat:A w skryptach JS zmieńcie wszystkie $ na jQuery
Wytłumaczysz mi to? Moje doświadczenie z jQuery opiera się tylko na zlinkowaniu biblioteki i wklejenie gotowego skryptu, dlatego też przepraszam.


@edit, poniżej mój headerinclude, może coś ułatwi:
<link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" />
<link rel="alternate" type="application/atom+xml" title="{$lang->latest_threads} (Atom 1.0)" href="{$mybb->settings['bburl']}/syndication.php?type=atom1.0" />
<meta http-equiv="Content-Type" content="text/html; charset={$charset}" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/prototype.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/general.js?ver=1603"></script>
<script type="text/javascript" src="{$mybb->settings['bburl']}/jscripts/popup_menu.js?ver=1600"></script>
{$stylesheets}
<script type="text/javascript">
<!--
    var cookieDomain = "{$mybb->settings['cookiedomain']}";
    var cookiePath = "{$mybb->settings['cookiepath']}";
    var cookiePrefix = "{$mybb->settings['cookieprefix']}";
    var deleteevent_confirm = "{$lang->deleteevent_confirm}";
    var removeattach_confirm = "{$lang->removeattach_confirm}";
    var loading_text = '{$lang->ajax_loading}';
    var saving_changes = '{$lang->saving_changes}';
    var use_xmlhttprequest = "{$mybb->settings['use_xmlhttprequest']}";
    var my_post_key = "{$mybb->post_code}";
    var imagepath = "{$theme['imgdir']}";
// -->
</script>
{$newpmmsg}
<script type="text/javascript">jQuery.noConflict();</script>
To:
<script type="text/javascript">

            $(function() {

                $('#navigation a').stop().animate({'marginLeft':'85px'},1000);



                $('#navigation > li').hover(

                    function () {

                        $('a',$(this)).stop().animate({'marginLeft':'2px'},200);

                    },

                    function () {

                        $('a',$(this)).stop().animate({'marginLeft':'85px'},200);

                    }

                );

            });

        </script>

Zamień na to:
<script type="text/javascript">

            jQuery(function() {

                jQuery('#navigation a').stop().animate({'marginLeft':'85px'},1000);



                jQuery('#navigation > li').hover(

                    function () {

                        jQuery('a',jQuery(this)).stop().animate({'marginLeft':'2px'},200);

                    },

                    function () {

                        jQuery('a',jQuery(this)).stop().animate({'marginLeft':'85px'},200);

                    }

                );

            });

        </script>
@MazuLuka - byłeś szybszy, ale moja metoda jest wygodniejsza : )



Nie musisz wszystkich, wystarczy pierwszą funkcję, ale co do tłumaczenia to patrząc na stronę od źródła strony:
sheepcraft.xaa.pl/forum/
w 90 linijce masz to:
<script type="text/javascript">



            $(function() {



                $('#navigation a').stop().animate({'marginLeft':'85px'},1000);







                $('#navigation > li').hover(



                    function () {



                        $('a',$(this)).stop().animate({'marginLeft':'2px'},200);



                    },



                    function () {



                        $('a',$(this)).stop().animate({'marginLeft':'85px'},200);



                    }



                );



            });



        </script>
zamień to na to:
<script type="text/javascript">



            jQuery(function($) {



                $('#navigation a').stop().animate({'marginLeft':'85px'},1000);







                $('#navigation > li').hover(



                    function () {



                        $('a',$(this)).stop().animate({'marginLeft':'2px'},200);



                    },



                    function () {



                        $('a',$(this)).stop().animate({'marginLeft':'85px'},200);



                    }



                );



            });



        </script>



różnicą między obydwoma kodami jest zamiana tego:

$(function() {
na to:

jQuery(function($) {

PS
Po wykonaniu tej czynności efekt jest taki, że skrypt z nawigacją nie działa prawidłowo (nie wysuwa się), a z expanderem też kicha. Zrobiłem wszystko jak napisaliście wyżej.
Czyli MazuLuka czy mojego ?
To i to nie działa, sprawdziłem po kolei.
To spróbuj to:
<script type="text/javascript">

             jQuery(function() {

                 jQuery('#navigation a').stop().animate({'marginLeft':'85px'},1000);



                 jQuery('#navigation > li').hover(

                     function () {

                         jQuery('a',jQuery(this)).stop().animate({'mar​ginLeft':'2px'},200);

                     },

                     function () {

                         jQuery('a',jQuery(this)).stop().animate({'mar​ginLeft':'85px'},200);

                     }

                 );

             });

         </script>
<script type="text/javascript">jQuery.noConflict();</script>
STOP NIE NADĄŻAM W DEBUGOWANIU!


Twój problem już nie jest po stronie kolidacji, ale masz jQuery.noConflict(); przed pobraniem jQuery, wstaw to:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
przed
<script> jQuery.noConflict();</script>



Użytkownicy przeglądający ten wątek:

1 gości