Autor Zpráva
Thomasx
Profil *
Dobry den,
mam problem s jquery, resp. javascriptom.

po kliknuti na menu, nacitavam do divu dynamicky obsah. Takto vypada html kod:

<ul id="menu">
    <li id="a1">text1</li>
    <li id="a2">text2</li>
    <li id="a3">text3</li>
</ul>

 <div id="content">
</div>

a js:

$(document).ready(function(){
    var sections = $("#menu li");
    var loading = $("#loading");
    var content = $("#content");

    sections.click(function(){
        showLoading();

         switch(this.id){
            case this.id:
                content.load("sections.php #section_c_" + this.id, hideLoading);
                break;
            default:
                hideLoading();
                break;
        }
    });

     function showLoading(){
        loading
            .css({visibility:"visible"})
            .css({opacity:"1"})
            .css({display:"block"})
        ;
    }

     function hideLoading(){
        loading.fadeTo(1000, 0);
    }
});

a subor sections.php, z ktoreho nacitavam obsah divov:
<div id="section_c_a1">a1 - click</div>
<div id="section_c_a2">a2 - click</div>
<div id="section_c_a3">a3 - click</div>

Vsetko funguje ako ma, dokial nemam v subore sections.php JS/jQuery script. Ak si do browsera dam priamo URL na subor sections.php, JS/jQuery scripty pracuju spravne, Ak ich ale dynamicky nacitavam zo subora, tak nejdu.

Skusal som nacitat jquery aj do sections.php, tak isto som vsetky js scripty premiestnitl aj tam, ale bez vysledku :/

Vedel by mi prosim niekto pomoct? Dakujem
Radek9
Profil
Thomasx:
A jsou ty soubory ve stejné složce? Respektive, odpovídá ta cesta v load() aktuálnímu adresáři?
Thomasx
Profil *
Ahoj,

ano, cesty sedia.
zrovna som si spravil pokus.. asi viem kde je chyba, len neivem ako ju odstanit. Totiz cez ten load mi nenacitava JS...

skusil sm si len nacitat
    <script type="text/javascript">
    alert("ok");
    </script>

ale vobec sa mi v zdrojakoch nezobrauzje, ze by sa nacital script..


priatelia, tak nakoniec sa podarilo poriesit takymto sposobom...

prikladam aj link, ak by niekto potreboval, tu sa riesi podobne:

http://stackoverflow.com/questions/889967/jquery-load-call-doesnt-execute-javascript-in-loaded-html-file

a moje riesenie teda (click event):

    sections.click(function(){
        showLoading();

         switch(this.id){
            case this.id:
                content.load("sections.php #section_c_" + this.id, function(){
                hideLoading();
                $.getScript("js/dalsi_script.js");
                });
                break;
            default:
                hideLoading();
                break;
        }
    });

snad niekomu pomoze. :)
peta
Profil
"sections.php #section_c_"
Mi se treba nelibi tady ta mezera a radeji bych ji tam nedaval.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: