Dynamické vytváření funkcí ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dynamické vytváření funkcí ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.comDynamické vytváření funkcí ??? – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

tonez+1
Návštěvník
31. 12. 2007   #1
-
0
-

jak použít konstruktor new Function() k vytvoření funkce, která se bude opakovat setTimeoutem a bude měnit absolutní pozici DIVu např.

document.getElementById("diver").style.left = x + 'px';
document.getElementById("diver").style.top = y + 'px';

k vytvoření té nové funkce by bylo použito třeba tlačítko a událost onClick(), kolikrát kliknu tolik funkcí vytvořím.

Nahlásit jako SPAM
IP: 82.117.140.–
Im web developer. (x)HTML, CSS, JavaScript + jQuery, PHP, MySQL and others :))
Nefaritus
~ Redaktor
+2
Posthunter
31. 12. 2007   #2
-
0
-

To tonez : Máš na yslis že bys pořád klikal a okno by se třeba posouvalo pořád o 10px doprava a o 10px dolů :)

Nahlásit jako SPAM
IP: 213.191.111.–
tonez+1
Návštěvník
31. 12. 2007   #3
-
0
-

To Nefaritus : ne to ne ... kliknutím se vytvoří funkce a ta bude posouvat jeden objekt ... dalším kliknutím se vytvoří další funkce a ta bude posouvat zase jinej objekt ...
klikneš třeba třikrát a budou se ti sami hejbat tři objekty ... víš jak to myslím ???

Nahlásit jako SPAM
IP: 82.117.140.–
Im web developer. (x)HTML, CSS, JavaScript + jQuery, PHP, MySQL and others :))
Nefaritus
~ Redaktor
+2
Posthunter
1. 1. 2008   #4
-
0
-

To tonez : A hýbat neustále? Například klikneš jednou a objekt se bude posouvat po sekundě o 10px, klikneš podruhé a vytvoří se další objekt, který bude dělat to damé, atd.?

Nahlásit jako SPAM
IP: 213.191.111.–
tonez+1
Návštěvník
1. 1. 2008   #5
-
0
-

To Nefaritus : jj. objekty už budou vytvořený a kliknutím se vytvoří funkce (pro každý objekt nová), která bude daným objektem šoupat neustále.

Nahlásit jako SPAM
IP: 82.117.140.–
Im web developer. (x)HTML, CSS, JavaScript + jQuery, PHP, MySQL and others :))
Orcslayer0
Stálý člen
1. 1. 2008   #6
-
0
-

To tonez : Stačí zabalit document.getElementById do objektu a jako metodu přiřadit funkci. ,)

Například:

function movingObject (id)

{
this.obj = document.getElementById(id);
this.obj.onclick = moving;
}

function moving()
{
// škatulata hejbejte se
}

var blabol = new movingObject('id_napr_nejakeho_divu');


O vytváření objektů v JS: http://w3schools.com/js/js_objects.asp

Nahlásit jako SPAM
IP: 85.70.82.–
tonez+1
Návštěvník
28. 1. 2008   #7
-
0
-

Orcslayer napsal:
To tonez : Stačí zabalit document.getElementById do objektu a jako metodu přiřadit funkci. ,)

Například:

function movingObject (id)
{
this.obj = document.getElementById(id);
this.obj.onclick = moving;
}

function moving()
{
// škatulata hejbejte se
}

var blabol = new movingObject('id_napr_nejakeho_divu');


O vytváření objektů v JS: http://w3schools.com/js/js_objects.asp



já sem to myslel tak, že ta funkce moving() se vytvoří konstruktorem new a bude ovládat jeden objekt a pak se po dalším kliku vytvoří další funkce třeba moving2() konstruktorem new a bude ovládat druhý objekt a takhle pořád dál.

ovládání objektu :
document.getElementById(e[i]).style.left = x[i] + 'px';
document.getElementById(e[i]).style.top = y[i] + 'px';
setTimeout("nazevfunkce()",10);

x je hodnota která bude určovat jeho Xovou polohu
y je hodnota která bude určovat jeho Yovou polohu
e je id objektu
i je číslo pole kde sou příslušná data pro každý objekt
nazevfunkce název vytvořené funkce

takovýhle ovládání by bylo v každé nové vytvořené funkci.

Doufám, že už je můj problém jasnější. :smile1:

Nahlásit jako SPAM
IP: 195.113.220.–
Im web developer. (x)HTML, CSS, JavaScript + jQuery, PHP, MySQL and others :))
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 12 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý