| 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: 16 let
|
|||
0