Autor | Zpráva | ||
---|---|---|---|
Alastor_Kopál Profil * |
#1 · Zasláno: 6. 1. 2010, 00:54:38
<body onkeydown="prechod(event);"> <span id="textik" style="position: absolute; left: 0px; top: 500px;"><img src="logo.png"></span> <script> var stylTextu = document.getElementById("textik").style; var poziceX = 0; var poziceY = 500; function start(){ casovac = window.setInterval("krok(0,-5)", 50) } function krok(stepX,stepY){ poziceX += stepX; poziceY += stepY; if(poziceY < 200){ clearTimeout(casovac) } stylTextu.left = poziceX + "px"; stylTextu.top = poziceY + "px"; } function prechod(event) { switch(event.keyCode) { case 37: start(); } } </script> Tenhle kód má dělat - při stisknutí tlačítka 37 (levé šipky) vysunout obrázek. Při dalším stisknutím tlačítka zase zasunout chyby - když tlačítko zmáčknu vícekrát obr jede rychleji a také po zastavení h můžu posunout dalším stisknutím tlačítka vím v čem je chyba ale nevim co s ní |
||
Molda Profil |
#2 · Zasláno: 6. 1. 2010, 02:58:21
zkus to nejak takhle
<body onkeyup="prechod(event);"> <script> var poziceX = 0; var poziceY = 500; var casovac = false; var jsme_v_cili = false; function start(){ if (casovac) { //casovani jiz bezi } else { //spustit casovani casovac = window.setInterval("krok(0,-5);", 50); } } function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; document.getElementById('serial').innerHTML = poziceY+'serial'; if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; } } } function prechod(event) { switch(event.keyCode) { case 37: start(); } } </script> |
||
Alastor_Kopál Profil * |
#3 · Zasláno: 6. 1. 2010, 12:27:45
a teď chci aby se to vrátilo zpět v čem je chyba ? case ?
<script> var poziceX = 0; var poziceY = 500; var casovac = false; var jsme_v_cili = false; function promena(){ if($space == 1){$space = 2;} if($space == 2){$space = 1;} else{$space = 1;} } function start(){ if (casovac) { //casovani jiz bezi } else { //spustit casovani if($space == 1){ casovac = window.setInterval("krok(0,-5);", 50); } else{ casovac = window.setInterval("krok(0,5);", 50); } } } function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; } } } function prechod(event) { switch(event.keyCode) { case 32: promena(); start(); } } </script> |
||
Alastor_Kopal Profil |
#4 · Zasláno: 6. 1. 2010, 20:17:45 · Upravil/a: Alastor_Kopal
Javascript moc neumím - ale popral jsem se s tím :-)
přikládám funkční kód který po stisknutí mezerníku posune obrázek nahoru (a po druhé stiskutí zase dolu) (toto vlákno je vyřešeno - kód jsem přiložil kdyby náhodou tento script někdo potřeboval) <body onkeyup="prechod(event);"> <script> var poziceX = 0; var poziceY = 500; var casovac = false; var jsme_v_cili = false; function start(){ if(jsme_v_cili){ casovac_zpet = window.setInterval("krok_zpet(0,5);", 50); } else{ if (casovac) { //casovani jiz bezi } else { //spustit casovani casovac = window.setInterval("krok(0,-5);", 50); }} } function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; } } } function krok_zpet(stepX,stepY){ if(jsme_v_cili == true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY > 500){ clearTimeout(casovac_zpet); poziceX = 0; poziceY = 500; casovac = false; jsme_v_cili = false; } } } function prechod(event) { switch(event.keyCode) { case 32: start(); } } </script> <span id="serial" style="position: absolute; left: 0px; top: 500px;"><img src="nejakyobrazek.jpg"></span> |
||
Chipsman Profil * |
#5 · Zasláno: 8. 1. 2010, 10:41:42
A jak to udělám aby to jezdilo zleva doprava a uprostřed se to zastavilo?
|
||
peta Profil |
#6 · Zasláno: 8. 1. 2010, 15:55:05
Chipsman:
na tuto animaci je tag Marquee, ale jestli chces nutne to cele resit pres js... http://peter-mlich.wz.cz/web/js/prjpw/index.html#cas 2 Jednoduchá animace jako Marquee |
||
Alastor_Kopal Profil |
#7 · Zasláno: 10. 1. 2010, 10:29:17
Omlouvám se že tento topic ještě obnovuji - chci jen opravit ten poslední kód, který jsem tu dal. Měl chybu v tom, že při několika stisknutí naráz dělal věci které neměl dělat. Teď přikládám už totálně funkční kód
<body onkeyup="prechod(event);"> <script> var poziceX = 0; var poziceY = 500; var casovac = false; var casovac_zpet = false; var jsme_v_cili = false; function start(){ if(jsme_v_cili){ if(casovac_zpet){} else{ casovac_zpet = window.setInterval("krok_zpet(0,5);", 50);} } else{ if (casovac) { //casovani jiz bezi } else { //spustit casovani casovac = window.setInterval("krok(0,5);", 50); }} } function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX -= stepX; poziceY -= stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; casovac_zpet = false; } } } function krok_zpet(stepX,stepY){ if(jsme_v_cili == true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY > 500){ clearTimeout(casovac_zpet); poziceX = 0; poziceY = 500; casovac = false; jsme_v_cili = false; } } } function prechod(event) { switch(event.keyCode) { case 13: start(); } } </script> <span id="serial" style="position: absolute; left: 0px; top: 540px; width: 860px; height: 110px; border: 1px solid red; background: black; text-align: center; color: red;">Text který se pohybuje</span> |
||
Alastor_Kopal Profil |
#8 · Zasláno: 10. 1. 2010, 22:42:27 · Upravil/a: Alastor_Kopal
a co když chci ten objekt před vysunutím zakrýt ? (display:none;) nevim jak na to a moje pokusy neuspěly
function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX -= stepX; poziceY -= stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY != 540){stylTextu.style.display = "";} if(poziceY == 540){stylTextu.style.display = "none";} else{} if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; casovac_zpet = false; } } } //dole ten obekt ...ter; color: red; display: none;">Text který se pohybuje.... |
||
Molda Profil |
#9 · Zasláno: 10. 1. 2010, 22:57:17
aby byl vidět tak
stylTextu.style.display = "block"; a aby nebyl tak stylTextu.style.display = "none"; |
||
Alastor_Kopal Profil |
#10 · Zasláno: 10. 1. 2010, 23:03:58
Aha. Ale stejně potřebuji odhalit chybu v kódu, ať tam bylo block nebo nic - pořád se to nevysunuje
|
||
Molda Profil |
#11 · Zasláno: 10. 1. 2010, 23:28:14 · Upravil/a: Molda
skuz změnit tu podmínku
if(poziceY != 540){stylTextu.style.display = "block";} na "540px" if(poziceY != "540px"){stylTextu.style.display = "block";} a tu druhou taky na "540px" |
||
Alastor_Kopal Profil |
#12 · Zasláno: 10. 1. 2010, 23:38:52
Molda:
ano zkusil jsem to ale nejde to když se podíváš do kódu tak poziceY je jenom číslo poziceY -= stepY; a až při přiřazování hodnoty se tam přidává px |
||
Molda Profil |
#13 · Zasláno: 10. 1. 2010, 23:58:38 · Upravil/a: Molda
jo to sem přehlíd
tohle je funkční aspoň u mě :) ze začátku mě to nějak cukne to už si polaď podívej se kam sem dal tohle stylTextu.style.display = "none"; a tohle stylTextu.style.display = "block"; <script> var poziceX = 0; var poziceY = 500; var casovac = false; var casovac_zpet = false; var jsme_v_cili = false; function start(){ stylTextu = document.getElementById("serial"); if(jsme_v_cili){ if(casovac_zpet){} else{ casovac_zpet = window.setInterval("krok_zpet(0,5);", 50);} } else{ if (casovac) { //casovani jiz bezi } else { //spustit casovani casovac = window.setInterval("krok(0,5);", 50); stylTextu.style.display = "block"; }} } function krok(stepX,stepY){ if(jsme_v_cili != true) { stylTextu = document.getElementById("serial"); poziceX -= stepX; poziceY -= stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY < 200){ clearTimeout(casovac); jsme_v_cili = true; casovac_zpet = false; } } } function krok_zpet(stepX,stepY){ if(jsme_v_cili == true) { stylTextu = document.getElementById("serial"); poziceX += stepX; poziceY += stepY; stylTextu.style.left = poziceX + "px"; stylTextu.style.top = poziceY + "px"; if(poziceY > 540){ clearTimeout(casovac_zpet); stylTextu.style.display = "none"; poziceX = 0; poziceY = 500; casovac = false; jsme_v_cili = false; } } } function prechod(event) { switch(event.keyCode) { case 13: start(); } } </script> <span id="serial" style="position: absolute; left: 0px; top: 540px; width: 860px; height: 110px; border: 1px solid red; background: black; text-align: center; color: red; display: none;">Text který se pohybuje</span> |
||
Alastor_Kopal Profil |
#14 · Zasláno: 11. 1. 2010, 00:07:49
děkuji funguje
|
||
Časová prodleva: 14 let
|
0