|
|
|
| <script language="JavaScript">
<!--
var gjapox=0;
var gjapoy=0;
function japapilon(japox, japoy) {
japox=japox-50;
japoy=japoy-50;
var tekst=japox+" "+japoy;
var koorslx=japox+"px";
var koorsly=japoy+"px";
gjapox=japox;
gjapoy=japoy;
polet();
}
function polet() {
gjapoy+=10
japoy=gjapoy;
japox=gjapox;
var tekstt=japox+" "+japoy+"/"+tekst;
document.getElementById('bibon').value = tekstt;
if (navigator.appName == "Netscape")
{ document.move.left = japox
document.move.top = japoy }
else { document.all.move.style.left= japox
document.all.move.style.top = japoy }
window.setTimeout("polet()", 20);
}
-->
</script>
Тут в function japapilon(japox, japoy) переменные приходят из флэшки. И функция запускается походу по приходу переменных.
Народ помогите. Никак не запускается polet() повторно через setTimeout
Я пробовал и через функции передавать параметрами.
И весь инет облазил. Вроде всё подробно написано, но я не понимаю
И в Dronov.HTML.JavaScript читал про функции и переменные.
Код
<html>
<head>
<title>Преремещающиеся слова.</title>
<script language="JavaScript">
<!--
var rad = 50;
var xoff = 350;
var yoff = 180;
var pi = Math.PI;
var inc = pi / 36;
var pos=0;
function move() {
pos += inc;
obj1.left = xoff+4;
obj1.top = (rad* Math.sin(pos)) + yoff;
obj3.left = xoff;
obj3.top = yoff;
setTimeout("move()", 1);
}
-->
</script>
</head>
<body>
<div id="obj1" style="z-index:5;position:absolute;width:70px; height:31px"><font face="Arial" size="3" color="#993333"><b>Script</b></font></div>
<div id="obj3" style="z-index:7;position:absolute;width:89px; height:18px;clip:rect(0px 89px 18px 0px); layer-background-color:#99bb99;"><font face="Arial" size="3" color="#FF8000"><b><center>Java</center></b></font></div>
<script language="JavaScript">
<!--
var NN = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);
var obj1 = (NN) ? document.obj1 : document.all.obj1.style;
var obj3 = (NN) ? document.obj3 : document.all.obj3.style;
move();
-->
</script>
<form name="form1" method="post" action="">
<textarea name="bibon" id="bibon"></textarea>
</form>
</body>
</html>
-это рабочий код, тоже с применением setTimeout. | |
|
|
|
|
|
|
|
для: Воитель
(24.06.2008 в 17:16)
| |
<div id="move" style="z-index:5;position:absolute;width:70px; height:31px"><font face="Arial" size="3" color="#993333"><b>Script</b></font></div>
<input type="text" id="bibon" value=""/>
<script language="JavaScript">
<!--
var i_gox=0;
var i_goy=0;
function japapilon(i_ox, i_oy) {
i_ox-=50;
i_oy-=55;
s_txt=i_ox+" "+i_oy;
var koorslx=i_ox+"px";
var koorsly=i_oy+"px";
i_gox=i_ox;
i_goy=i_oy;
polet()
}
function polet() {
i_goy+=10
i_oy=i_goy;
i_ox=i_gox;
var s_txtt=i_ox+" "+i_oy+"/"+s_txt;
document.getElementById('bibon').value = s_txtt;
if (navigator.appName == "Netscape")
{ document.move.left = i_ox +'px'
document.move.top = i_oy +'px' }
else { document.all.move.style.left= i_ox +'px'
document.all.move.style.top = i_oy +'px' }
if (i_ox < 0) return false;
setTimeout("japapilon("+i_ox+","+i_oy+")", 700);
}
japapilon(600, 450) // вызов функции
-->
</script>
|
мутные какие-то функции , по какой траектории должно двигаться document.all.move ? | |
|
|
|
|
|
|
|
для: EXP
(24.06.2008 в 18:36)
| | Банально по прямой. Вот только направления прямой выбирается рандомно. | |
|
|
|
|
|
|
|
для: Воитель
(24.06.2008 в 19:46)
| | Спасибо.
После небольшой модернизации я добился того что надо было(Должна была циклица функция Polet())
Буду рад услышать в чём были ошибки. Т.к. логики я не усвоил.
И ещё один вопрос:
почему не могу поставить условие?
if (japoy < 800) return false;
Я сначала подумал что переменная числица как строковая(Я знал что это не так, но эта была единственная догатка)
Перевожу через
japoy=parseInt(japoy); //не помогает | |
|
|
|
|
|
|
|
для: Воитель
(24.06.2008 в 22:01)
| | если чесно, я и сам не понял чего там не хватало )
до того как-то пользовался
function stt(){ timer();
if (flag) {
clearInterval(flag);
flag = null;
} else {
flag = setInterval('timer()', 1000);
}
return 0;
}
var flag=null
stt();
| тут заинтересовало двИжение .)
домучал примерно до такого
<style>
body { margin:0;}
</style>
<div id="move" style="z-index:2; position:absolute; width:70px; height:31px; background:#999;"><font face="Arial" size="3" color="#993333"><b>Script</b></font></div>
<input type="text" id="debug" value=""/>
<script language="JavaScript">
<!--
var speed = 2;
var w_h = document.body.clientHeight
var w_w = document.body.clientWidth
var o = document.getElementById('move')
var o_h = o.style.height.replace(/\D/g, '');
var o_w = o.style.width.replace(/\D/g, '');
// move: width & height должно быть в "px"
w_w -= o_w;
r_h = (w_h -= o_h);
r_w = (Math.random()*w_w).toFixed()
// r_w X r_h - случайная точка внизу
alert(r_w+':'+w_w+' '+r_h+':'+w_h)
var f = {w:0, h:0}
//alert(f.w+':'+f.h)
function polet(i_runx, i_runy) {
speed += speed/5
if (speed>1500) {
o.style.display='none';
return false;
}
var r_w = Math.ceil(w_w/Math.sqrt(speed))
var r_h = Math.ceil(w_h/Math.sqrt(speed))
i_y = i_runy;
i_x = i_runx;
i_runx = (f.w)? i_runx+r_w: i_runx-r_w;
if (i_runx>w_w){ i_runx = w_w; f.w=(f.w)?0:1;}
else if (i_runx<0){ i_runx = 0; f.w=(f.w)?0:1;}
i_runy = (f.h)? i_runy+r_h: i_runy-r_h;
if (i_runy>w_h){ i_runy = w_h; f.h=(f.h)?0:1;}
else if (i_runy<0){ i_runy = 0; f.h=(f.h)?0:1;}
document.getElementById('debug').value=i_x+"x"+i_y+"/"+i_runx+'x'+i_runy;
o.style.left = i_runx +'px'
o.style.top = i_runy +'px'
setTimeout('polet('+i_runx+','+i_runy+')', speed);
}
polet(r_w, r_h); // вызов функции
-->
</script>
|
| |
|
|
|
|
|
|
|
для: exp
(25.06.2008 в 00:09)
| | Прикольно. Только наверно надобыло бы добавить плавности и времени длительности(а то не совсем успеваешь усмотреть) но я так понимаю это дело 5минут. | |
|
|
|