Problem z uruchomieniem dwóch takich samych skryptów JS


(1q2w3e4r) #1

Witam,

Potrzebuje na jednej stronie uruchomić dwa takie same skrypty ze sliderem który przewija loga.

Jednak gdy wrzucę dwa to sie one gryzą. Zmieniałem nazwę funkcji animate ale to nie działa.

Proszę o pomoc.

Skrypt:



(Drobok) #2

Musisz jakoś te ul rozróżniać, daj drugiego diva z klasą powiedzmy ptt2, skopiuj wszystko ze znacznika script, potem wklej to pod spodem i zmień wszystkie ptt z tego co wkleiłeś na ptt2 :slight_smile:

Oc można by ten skrypt przerobić na obsługę wielu sliderów, ale raczej długość kodu byłaby podobna :0


(1q2w3e4r) #3

no juz robiłem tak jak pisałeś z ppt na ppt, slide na slide2, animate() na animate2 i nic to nie daje, niestety


(slepcu) #4

nie rób dwa razy tego samego, wykonaj w jeden funkcji dwie animacje, korzystajac z jQueryowego .each'a :

taki szybki przykład.

http://jsfiddle.net/PU6ms/1/ (wlaczy RUN)

ale :

  1. nie pisz tak

    cur.attr('class') == 'last' // a jeśli juz to cur.attr('class') === 'last'

jQuery ma metode hasClass() bo co jeśli element ma postac
text

cur.hasClass('last')
  1. wydajnosc zapytan jQuery, uzywaj rozbicia na wiele zapytan, nie staraj sie wykonac wszystkiego za jednym zamachem, to jest mniej wydajne. to nie jest SQL !

    $('.ppt li:gt(0)').hide();

zmien na :

$('div.ppt').children('li').first().hide(); 

// IE nie ma wbudowanej metody getElementByClass, wiec dodawaj do zapytan po klasie obieku, nazwe tagu tu : [b]div.ppt[/b]

(1q2w3e4r) #5

Nie znam się prawie w ogóle na JS - niestety. Ten kod jest wyciągnięty z mojej strony.

Zmiana linii na

$('div.ppt').children('li').first().hide();

Wysypuje skrypt. Ja już edytowałem ten skrypt tak:





<?php
                                                $tab </span><span>= array();
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;

                                                </span><span>shuffle</span><span>(</span><span>$tab</span><span>); </span><span>// mieszanie zawartości tablicy

                                                </span><span>foreach (</span><span>$tab </span><span>as </span><span>$klucz </span><span>=&gt; </span><span>$wartosc</span><span>)
                                                {
                                                                echo </span><span>''</span><span>;
                                                                echo </span><span>$wartosc</span><span>;
                                                                echo </span><span>''</span><span>;
                                                }
                                                </span><span>?&gt;



                                                      



<?php
                                                $tab </span><span>= array();
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;
                                                </span><span>$tab</span><span>[] = </span><span>''</span><span>;

                                                </span><span>shuffle</span><span>(</span><span>$tab</span><span>); </span><span>// mieszanie zawartości tablicy

                                                </span><span>foreach (</span><span>$tab </span><span>as </span><span>$klucz </span><span>=&gt; </span><span>$wartosc</span><span>)
                                                {
                                                                echo </span><span>''</span><span>;
                                                                echo </span><span>$wartosc</span><span>;
                                                                echo </span><span>''</span><span>;
                                                }
                                                </span><span>?&gt;



     [/code]

Jednak jest dalej problem z tym, że slider 1 podkrada do wyświetlania to co ma slider2.

Jeśli macie jakieś inne rozwiązania to chętnie je zobaczę.


(Grzelix) #6

odpaliłem twój skrypt w takiej formie jak podałeś w ostatnim poście i działa poprawnie.

oba skrypty mają takie same loga do wyświetlania ale nic od siebie nie podkradają.

Wystaraczy dać różne loga dla każdego skryptu.

Trochę to zaproste ale nic innego nieprawidłowego tutaj nie zauważyłem


(slepcu) #7

u mnie tez po skopiowaniu twojego skryptu dziala raczej poprawnie. chyba ze rozumiemy twojego problemu. jak bys chcial zeby te loga sie zmienialy ?

co do tego :

$('div.ppt').children('li').first().hide();

to moja wina, nie popatrzylem a u ciebie nie jest div a ul , tak raczej by bylo dobrze :

$('ul.ppt').children('li').first().hide();

(1q2w3e4r) #8

Witam ponownie,

Czy jest możliwość mieszania kolejności wyświetlanych zdjęć od razu w js ?

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg
    [/code]

(Drobok) #9

Zapisz do tablicy, wymieszaj i podmień :stuck_out_tongue:


(1q2w3e4r) #10

Proszę o modyfikację powyższego kodu.

Zaznaczam, że chcę aby mieszanie było zrobione w javascript.

-- Dodane 23.03.2012 (Pt) 20:59 --

Nikt nie umie mi pomóc?