Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Programovacie jazyky, rady, poradňa...
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Super, takhe je to skoro dobre :-)

Akorat pokud si nejake li rozkliknes a nakonec chces to li kliknutim zavrit tak se nezavre. Tam bude nejaky problem s tim :visible.

//autoeditácia príspevku (18 Okt 2013, 22:53)
No podle me bylo zbytecne davat do toho prvniho li jeste href. kdyz to neni odkaz.

Ja jsem jen chtel aby kdyz kliknu na LI tak aby se otevrelo a kdyz na to stejne LI kliknu jeste jednou aby se zavrelo.

Pokud budu mit nejake LI (potazmo to UL ktere je v nem) otevrene tak potrebuju aby se pri kliknuti na jine LI to puvodni zavrelo a otervrelo se to nove.
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa awtt »

da sa to spravit ovela jednoduchsie

http://jsfiddle.net/vMrn6/5/
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

awtt napísal:da sa to spravit ovela jednoduchsie

http://jsfiddle.net/vMrn6/5/
Dekuju, to je presne ono, ale jeste bych te pozadal, pokud bys mel chvili. Mohl by si mi vysvetlit tento kousek kodu? A co znamena to this.jQuery na konci.

Kód: Vybrať všetko

           .end()
           .siblings().find('ul').slideUp();
  }).find('ul').hide();
})(this.jQuery);
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa audiotrack »

je to module pattern: http://www.adequatelygood.com/JavaScrip ... Depth.html
Ide vlastne o anonymnú funkciu do ktorej pošle jquery. V tomto konkrétnom prípade môžeš prvý a posledný riadok zmazať, ak to nechceš publikovať ako knižnicu pre ďalšie použitie
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa awtt »

No ja si dovolim mierne nesuhlasit, v tomto uplne konkretnom pripade mozno je to zbytocne, ale neverim ze jeho kod pozstava len z tochto jedneho eventu.
A ked si to obali do anonymnej funkcie, predide zbytocnym globalnym premennam, moze si nastavit strict mode, moze v buducnosti zmenit jquery za zepto atd.. takze ja by som to tam rozhodne nechal.
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Kluci, mam obnrazek, ktery ma nejakou cestu a nejak se jemnuje.

Kód: Vybrať všetko

<img src="/img/fox.jpg" alt="" />
potreboval bych pomoci jQuery ulozit do promenne jen to "fox" a nasledne to potom vypsat do toho altu. Muzete me prosim navest? Nemusite to cele psat jen mi treba poradit co na googlu vyhledat, nejake klicove slovo pro tuhle operaci. Rad bych si to co nejvic napsal sam.
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa sharky-no »

atribut src ziskas cez $(img).attr('src'), prepchas ho cez nejaky regularny vyraz, ktory ti vrati len nazov suboru (napr. takto http://stackoverflow.com/questions/9363 ... -from-path) a potom to zas cez $(img).attr({'alt' : nazovsuboru }); capnes do toho atributu.

staci tak?
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Ahojte, uz se s tim hraju asi 2 hodky a zatim to nikam nevede :(

Potrebuju aby "li" dostalo classu active kdyz je "ul" .slideDown() a aby zase classu nemelo kdyz je "ul" .slideUp. Tusim ze by v tom mohl byt .parent() ale jak ho tam dostat je pro me zahadou.

Kód: Vybrať všetko

    $('#side_nav').find('ul').hide();

    $('#side_nav li').click(function(event){
        $(this).find('>ul').stop(false).slideToggle()
        .end()
        .siblings().find('ul').slideUp();
        event.stopPropagation();
    });
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa awtt »

Kód: Vybrať všetko

$('#side_nav').on('click', '> li', function(event){
  if(this !== event.target){
    return;
  } 
  $(this).toggleClass('active').find('ul').stop(false).slideToggle()
    .end()
    .siblings().removeClass('active').find('ul').slideUp();
    event.preventDefault();
}).find('ul').hide();
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Super, funguje to. Muzu se te prosim zeptat. Pokud mam v tom <li> jeste <a href> jakto ze to prestane fungovat. Preci kdyz klikam na li tak klikam i na ten href ne?
xadman
Medium Star
Medium Star
Príspevky: 305
Registrovaný: 09 mar 2011, 17:02

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa xadman »

$('#side_nav').on('click', '> li a', function(event){

skús takto
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

To jsem zkousel, nefunguje to. Ono je prave mozne ze v nekterych <li> bude <href> a bude to primo nekde odkazovat a nebo se jen klikne na <li> a to otevre dalsi uroven. V dalsi urovni nastava to same ze v nekterem <li> bude <href> a v nekterem ne. Menu ma 3 urovne.

Takhle to menu vypada:
Je to rozpracovane ale ty urovne jsou takhle asi na max, dalsi uroven uz by tam pribyt nemela.

Kód: Vybrať všetko

            <ul id="side_nav">
                <li><a href="#">Hygienický program TORK</a>
                    <ul>
                        <li><a href="#">papírové ručníky skládané</a>
                            <ul>
                                <li><a href="/rucniky.php">ručníky skládané ZZ a C</a></li>
                                <li><a href="">ručníky skládané Interfold</a></li>
                            </ul>
                        </li>
                        <li><a href="/papir.php">papírové ručníky v roli</a>
                            <ul>
                                <li><a href="/rucniky.php">ručníky skládané ZZ a C</a></li>
                                <li><a href="">ručníky skládané Interfold</a></li>
                            </ul>
                        </li>
                        <li><a href="">toaletní papíry</a></li>
                        <li><a href="">mýdla, krémy, dezinfekce</a></li>
                        <li><a href="">papírové kapesníky</a></li>
                        <li><a href="">zásobníky a dávkovače</a></li>
                        <li><a href="">odpadkové koše</a></li>
                        <li><a href="">osvěžovače vzduchu</a></li>
                        <li><a href="">hygienické doplňky</a></li>
                    </ul>
                </li>
                <li><a href="#">Program průmyslových utěrek Tork</a>
                    <ul>
                        <li><a href="#">papírové ručníky skládané</a>
                            <ul>
                                <li><a href="">ručníky skládané ZZ a C</a></li>
                                <li><a href="">ručníky skládané Interfold</a></li>
                            </ul>
                        </li>
                        <li><a href="">papírové ručníky v roli</a></li>
                        <li><a href="">toaletní papíry</a></li>
                        <li><a href="">mýdla, krémy, dezinfekce</a></li>
                        <li><a href="">papírové kapesníky</a></li>
                        <li><a href="">zásobníky a dávkovače</a></li>
                        <li><a href="">odpadkové koše</a></li>
                        <li><a href="">osvěžovače vzduchu</a></li>
                        <li><a href="">hygienické doplňky</a></li>
                    </ul>
                </li>
                <li><a href="">Ubrousky Tork</a></li>
                <li><a href="">Mediprogram TORK</a></li>
                <li><a href="">Ostatní hygienický program</a></li>
                <li><a href="">Osoušeče rukou a vlasů</a></li>
                <li><a href="">Odpadkové pytle a sáčky</a></li>
                <li><a href="">Čistící a úklidové prostředky</a></li>
                <li><a href="">Úklidová technika</a></li>
                <li><a href="">Technický produktový program</a></li>
            </ul>
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa awtt »

fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Kluci jak byste pokracovali dal? Potrebuju aby se classa .top vratila po klinuti zpet na puvodni pozici.

Kód: Vybrať všetko

$('.top').addClass('down');

        $("a.detail").click( function(event){
            event.preventDefault();
            if ($(".top").hasClass("down")) {
                $(this).parent().stop().animate({top:'-288px'}).removeClass('down');
            } else {

            }
            return false;
        });

Kód: Vybrať všetko

<div class="product box">
            <div class="top">
                <img src="/assets/img/icon-1.png" alt="Monitoring" />
                <h2>Monitoring</h2>
                <p>Nam et natum moderatius, utinam omnium interpretaris ea pro, brute consequuntur pro ne.
                Ne vim soluta philosophia.</p>
                <a class="detail" href="">Detail</a>
            </div>
</div>
//autoeditácia príspevku (01 Máj 2014, 21:28)
Tak jsem jeste zapatral na netu a nasel jsem tohle. Ale jak definovat this? Budu mit na webu 3 takove boxy a chci aby se po kliknuti animoval jen ten jeden.
Pokud to zapisu takhle: $("a.detail").on('click', '.top' function() { ..... Tak to prestane fungovat :-( Tusite nekdo co s tim?

Kód: Vybrať všetko

$("a.detail").on('click', function() {

            if($(this).hasClass('selected')) {

                $(".top").stop().animate({
                    top: "-288px"
                });
                $(this).removeClass("selected");

            } else {

               $(".top").stop().animate({
                    top: "0px"
                });
                $(this).addClass("selected");

            }
            return false;

        });
//autoeditácia príspevku (02 Máj 2014, 9:30)
Tak nakonec jsem nasel script ktery funguje. Moc mu sice nerozumim hlavne tomuhle radku: top: selected? "-288px" : "0px". Co je ten otaznik? To je nejaky zkraceny zapis?

Kód: Vybrať všetko

$(".top").on("click", "a.detail", function (e) {
           var selected = $(this).hasClass("selected");
           $(e.delegateTarget).stop().animate({
              top: selected? "-288px" : "0px"
           });
           $(this).toggleClass("selected", !selected);
           return false;
        });

Kód: Vybrať všetko

<div class="product box">
            <div class="top">
                <img src="/assets/img/icon-1.png" alt="Monitoring" />
                <h2>Monitoring</h2>
                <p>Nam et natum moderatius, utinam omnium interpretaris ea pro, brute consequuntur pro ne.
                Ne vim soluta philosophia.</p>
                <a class="detail selected" href="">Detail</a>
            </div>
        </div>
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa audiotrack »

je to ternárny operátor, veľa jazykov ho používa. Všeobecný zápis je:
podmienka ? true : false
vyhodnotí sa podmienka, a ak je pravdiváá tak sa použije to čo je za otáznikom, ak je nepravdivá tak to čo je za dvojbodkov. Takže

Kód: Vybrať všetko

top: selected? "-288px" : "0px"
môžeš zapísať aj ako

Kód: Vybrať všetko

if(selected){
    top: "-288px"
} else {
    top: "0px"
}
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Dekuju Audio za objasneni.

//autoeditácia príspevku (10 Máj 2014, 16:55)
Muzete se prosim nekdo podivat na tuto stranku a rict mi jestli je takoveto nacitani obsahu pres .load() "jakse rika" seo friendly.?

http://tomas.spaneco.com/

Jeden web ktery seo analyzuje mi rekl ze je to nejspis spatne a nenasel tam ani jeden nadpis ani text.
Druhy tam zas nasel vsechny nadpisy a tvrdi ze je to v pohode.

Jak to vidite vy?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa *****HERO***** »

co maju javascripty spolocne so SEOm?

vyhladavace pozeraju zdrojove kody, neinterpretuju javascripty, takze nevidia nic, co nacitas napr cez $.load()
awtt
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1234
Registrovaný: 01 nov 2006, 19:37
Bydlisko: San Francisco
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa awtt »

Seo na ajaxovych strankach sa robi vacsinou cez hashbang.

Tu si pozri viac ako nato: https://developers.google.com/webmasters/ajax-crawling/
fikotek
King
King
Používateľov profilový obrázok
Príspevky: 1618
Registrovaný: 21 dec 2004, 16:13
Bydlisko: Zamilovany :-)
Kontaktovať používateľa:

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa fikotek »

Hero: No prave, kdyz si zobrazis zdrojovy kod tak tam nic neni, ale na webu vydis vypsane aktuality. A ja potrebuju aby to bylo seo friendly.
awtt: Mrknu na to dekuju :-)

Ty aktuality jsou zde: http://tomas.spaneco.com/assets/plugin/ ... uality.php

Takze nastava otazka: Je mozne mit aktuality v tomto souboru a nacitat je do ruznych stranek jako je napr. "index.php, sluzby.php, kontakt.php,...".
Samozrejme to nebudou jen aktuality.php ale nacitaly by se tak treba reference.php, produkty.php a spousta dalsich plugin ktere bych si vytvoril.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: Tomiiikova poradna JQuery (ovsem radi se Tomiiikovi)

Príspevok od používateľa *****HERO***** »

fikotek napísal:Hero: No prave, kdyz si zobrazis zdrojovy kod tak tam nic neni, ale na webu vydis vypsane aktuality. A ja potrebuju aby to bylo seo friendly.
no prave preto to seo friendly urcite nie je, kedze je to vsetko generovane javascriptami :)

ci na to nejake sposoby su, to uz neviem, nikdy som nepotreboval nieco take riesit a urcite je to praca naviac .. zvlast v tvojom pripade, kde nevidim dovod, aby to bolo nacitane ajaxom

co ti brani v tom, aby si tam texty tych aktualit poslal rovno?
Napísať odpoveď