|
|
|
| Помогите, плиз, очень нужен скрипт. Задача: Написать страничку с кнопкой. По нажатию на кнопку должно программно открываться окно браузера со всеми выключенными панелями. Открывшееся окошко должно двигаться по некоторой траектории. Например, по квадрату, ромбу, кругу..Хэлп...
Есть такой скрипт, но работает не правильно, окошко бегает слишком быстро, не могу разобраться с задержкой... | |
|
|
|
|
|
|
|
для: funtik
(12.06.2008 в 23:00)
| | Если "есть такой скрипт, но работает неправильно" - так и давайте его сюда со своими вопросами - чего именно там работает "неправильно".
Или вам обязательно нужно, чтобы здесь заново "изобретали велосипед"? | |
|
|
|
|
|
|
|
для: PAT
(13.06.2008 в 17:37)
| | вот..
<html>
<head>
<script language="JavaScript">
var popwindow
var popwindowwidth=200
var popwindowheight=150
var popwindowleft=200
var popwindowtop=100
var popwindowURL="temp.htm"
function showWindow() {
popwindow = window.open(popwindowURL, "popwindow", "width="+popwindowwidth+",height="+popwindowheight+",top="+popwindowtop+",left="+popwindowleft+"")
}
function movewindow() {
do{
movewindow1(800,100,10)
movewindow1(800,500,10)
movewindow1(200,500,10)
movewindow1(200,100,10)
}
while (true)
}
function movewindow1(x, y, numstep) {
var stepx=0
var stepy=0
var i=0
window.setTimeout("movewindow1();",100)
stepx=Math.round((x-popwindowleft)/numstep)
stepy=Math.round((y-popwindowtop)/numstep)
for(i=1;i<numstep-1;i++){
popwindowleft+=stepx
popwindowtop+=stepy
popwindow.moveTo(popwindowleft,popwindowtop)
//setTimeout("movewindow();",100)
//setTimeout("movewindow1();", 1000)
}
popwindowleft=x
popwindowtop=y
popwindow.moveTo(popwindowleft,popwindowtop)
//window.setTimeout("movewindow1();",100)
}
</script>
</head>
<body>
<input type="button" value="Окно" onClick="showWindow()">
<input type="button" value="Бегать" onClick="movewindow()">
</body>
</html> | |
|
|
|
|
|
|
|
для: funtik
(13.06.2008 в 19:32)
| |
<html><head>
<script>
//***********назначаемые параметры
var PW_w = 200; //ширина окна
var PW_h = 150; //высота окна
var X0 = X_c = 200; //начальное ПЛВУО (положение левого верхнего угла окна) по ширине
var Y0 = Y_c = 100; //начальное ПЛВУО по высоте
var X1 = 800; //конечное ПЛВУО по ширине
var Y1 = 500; //конечное ПЛВУО по высоте
var TIMEOUT = 10; //таймаут (в миллисекундах, >= 0, больше -> медленнее)
var STEP = 5; //шаг перемещения окна за таймаут (в пикселах, больше -> быстрее)
var PW_u = ''; //URL файла, загружаемого в окно
//***********
var PW;
function showWindow (x)
{
if ((X1 - X0) % STEP || (Y1 - Y0) % STEP) {alert ('Шаг перемещения не кратен сторонам'); return}
PW = window.open (PW_u, 'pw', 'width=' + PW_w + ',height=' + PW_h + ',top=' + Y0 + ',left=' + X0);
x.disabled = true; document.getElementById ('mo').disabled = false;
}
function moveWindow ()
{
if (Y_c == Y0) if (X_c < X1) X_c += STEP; else Y_c += STEP; else
if (Y_c == Y1) if (X_c > X0) X_c -= STEP; else Y_c -= STEP; else
if (X_c == X1) Y_c += STEP; else Y_c -= STEP;
if (PW.closed) {document.getElementById ('op').disabled = false; X_c = X0; Y_c = Y0; return}
PW.moveTo (X_c, Y_c); PW.focus (); setTimeout (moveWindow, TIMEOUT);
}
</script>
</head>
<body>
<input type="button" value="Открыть" id="op"
onclick="showWindow (this)">
<input type="button" value="Бегать" id="mo" disabled
onclick="moveWindow (); this.disabled = true">
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: PAT
(13.06.2008 в 21:17)
| | Большое спасибо за помощь!!!!! | |
|
|
|
|
|
|
|
для: funtik
(14.06.2008 в 10:51)
| | Товарищи, помогите, пожалуйста, еще разок...
Задача такая:
В окне браузера изобразить три квадрата вложенных в друг друга. (
...
). Написать процедуру для перемещения одного квадрата внутри другого по некоторой траектории (ромб, квадрат). Внутренний квадрат должен отражаться от рёбер внешнего. Путём последовательного вызова этой процедуры для каждого квадрата показать их относительное движение. | |
|
|
|
|
|
|
|
для: funtik
(20.06.2008 в 21:41)
| |
<html>
<head>
<style>
html, body {margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden}
div {position: absolute}
</style>
<script>
var A = new Array (), L = new Array (), T = new Array ();
function moveSQ (X, Y, A)
{
if (Y == 0) if (X < A) X++; else Y++; else
if (Y == A) if (X > 0) X--; else Y--; else
if (X == A) Y++; else Y--;
return (X + '=' + Y);
}
function funcMove ()
{
var z = moveSQ (L [1], T [1], A [0] - A [1], A [0] - A [1]).split ('=');
L [1] = z [0] * 1; T [1] = z [1] * 1;
with (document.getElementById ('DV1').style)
{left = L [0] + L [1] + 'px'; top = T [0] + T [1] + 'px'}
var z = moveSQ (L [2], T [2], A [1] - A [2], A [1] - A [2]).split ('=');
L [2] = z [0] * 1; T [2] = z [1] * 1;
with (document.getElementById ('DV2').style)
{left = L [0] + L [1] + L [2] + 'px'; top = T [0] + T [1] + T [2] + 'px'}
setTimeout (funcMove, 10);
}
onresize = function () {with (document.location) href = href}
onload = function ()
{
with (document.body) var w = offsetWidth, h = offsetHeight;
A [0] = parseInt ((w > h) ? (w / 2) : (h / 2));
A [1] = parseInt (A [0] / 2); A [2] = parseInt (A [1] / 2);
L [0] = parseInt ((w - A [0]) / 2);
T [0] = parseInt ((h - A [0]) / 2);
for (var j = 0; j < 3; j++)
with (document.getElementById ('DV' + j).style)
{
zIndex = j + 1; width = height = A [j] + 'px';
left = L [0] + 'px'; top = T [0] + 'px';
if (j) L [j] = T [j] = 0;
}
funcMove ();
}
</script>
</head>
<body>
<div id="DV0" style="background-color: yellow"></div>
<div id="DV1" style="background-color: red"></div>
<div id="DV2" style="background-color: green"></div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: PAT
(21.06.2008 в 06:33)
| | РАТ!!!Огромное спасибо!!!! | |
|
|
|