events въпрос
26 отговора
281 прегледа
events въпрос
Имам малък проблем: искам една функция да се изпълнява постоянно (буквално). Сега слагам да се изпълнява при document.onmousemove, половината работи перфектно, точно както искам. Обаче ми трябва и да не се влияе от мишката ... d.onmouseover не става, испълнява се само при преминаването :((( това е страницата. Искам като се onmouseout-ne да се върне в изходно полежение, без значение дали се движи мишката или не. Някой знае ли какъв точно event да сложа?
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Редактирано от Borg на
Re: events въпрос
ami pich ne mojah da razbera kakvo tochno iskash da napravish, moje bi zashtoto vidqh stranichkata ti s mozilla, no mi se struva che setInterval() shte ti svarshi rabota
Re: events въпрос
setTimeout върши чудна работа .. абе отвори я с IE и ще разбереш какво искам да направя. най-грубо казано: как мога да прекратя действието на document.onmousemove ?
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
zaebi eventite, napravi si edna upravlqva6ta promenliva, koqto da ti inicializira v na4alna faza. V cikyla proverqvai promenlivata. Ako e, uslovno kazano "true", setni si poziciqta gore v lqvo. Samata promenliva setva6 pri onmouseout. Ako ima6 predvid, 4e ne ba4ka onmouseout /*ne moa gi pomnq si4kite tiq ne6ta */, prosto go napravi da se setva pri onmouseover vyhu ostanalata 4ast ot dokumenta. Predpolagam 4e i na body 6te svyr6i rabota, no ako ne, 6te trqbva da izmisli6 nekvi layeri li ili tablici, i az ne znam to4no. Ai, uspeh :)
Talk Java to me
Talk Java to me
Re: events въпрос
ti ne iskash li prosto pri mouseout tova da si otide na mqstoto v nachaloto
za kakvo ti e toq mousemove
za kakvo ti e toq mousemove
Re: events въпрос
Ти погледна ли кода? Ако не си, ето тук го пускам:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--
var i=20;
function move_div()
{
if (i > 20) { setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((window.event.clientX < 550) && (window.event.clientX > 70) && (window.event.clientY < 60) && (window.event.clientY > 20))
{
document.all.mover.style.pixelLeft = window.event.clientX - 50;
i = window.event.clientX - 50;
}
else
{
move_div();
}
}
document.onmousemove = move_mouse;
//-->
</script>
<style type="text'css">
td { font-size: 2px }
</style>
</head>
<body bgcolor="#f4f4f4" text="#000000">
<div id="mover" style="position:absolute; left:18px; top:20px; width:100px; height:40px; z-index:2; background-color: #666666; layer-background-color: #666666; border: 1px none #000000"></div>
<div id="line" style="position:absolute; left:10px; top:23px; z-index:1; visibility:visible ; width: 620; background-color: #000000; layer-background-color: #000000; border: 1px none #000000; height: 1"0" cellspacing="0" bgcolor="#000000" height="1" width="620">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="spacer.gif" width="620" height="1"></td>
</tr>
</table>
</div>
</body>
</html>
Немога да махна ивънт-а. Той ми трябва за да прихвана движението на мишката и да се движи лейър-а заедно с нея. Просто искам за момент да му спра действието (докато се изпълни функцията за връщане в изходно положение)
"Търсейки по-доброто, често губим доброто" (Шекспир)
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--
var i=20;
function move_div()
{
if (i > 20) { setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((window.event.clientX < 550) && (window.event.clientX > 70) && (window.event.clientY < 60) && (window.event.clientY > 20))
{
document.all.mover.style.pixelLeft = window.event.clientX - 50;
i = window.event.clientX - 50;
}
else
{
move_div();
}
}
document.onmousemove = move_mouse;
//-->
</script>
<style type="text'css">
td { font-size: 2px }
</style>
</head>
<body bgcolor="#f4f4f4" text="#000000">
<div id="mover" style="position:absolute; left:18px; top:20px; width:100px; height:40px; z-index:2; background-color: #666666; layer-background-color: #666666; border: 1px none #000000"></div>
<div id="line" style="position:absolute; left:10px; top:23px; z-index:1; visibility:visible ; width: 620; background-color: #000000; layer-background-color: #000000; border: 1px none #000000; height: 1"0" cellspacing="0" bgcolor="#000000" height="1" width="620">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="spacer.gif" width="620" height="1"></td>
</tr>
</table>
</div>
</body>
</html>
Немога да махна ивънт-а. Той ми трябва за да прихвана движението на мишката и да се движи лейър-а заедно с нея. Просто искам за момент да му спра действието (докато се изпълни функцията за връщане в изходно положение)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
не тази променлива. имам предвид нещо такова:
<!--
var position=1; //false
var i=20;
while(position!=0){
function move_div()
{
if (i > 20) { setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((window.event.clientX < 550) && (window.event.clientX > 70) && (window.event.clientY < 60) && (window.event.clientY > 20))
{
document.all.mover.style.pixelLeft = window.event.clientX - 50;
i = window.event.clientX - 50;
}
else
{
move_div();
}
}
}
document.onmousemove = move_mouse;
na body ima6 onMouseOver(position=0);
na mover-a: onmouseover(position=1);
//-->
При позитион равно на нула, си го сетваш в начална позиция.
Приеми го това като някакъв псевдо-код. Малко мразя джаваскрипт, затова не ми се мисли сега точно кое къде трябва да се напише, пък и синтаксиса го бъркам. Така или иначе, ти можеш да си го направиш достатъчно добре. Давам само идеята как да стане.
Би трябвало да ти свърши работа. Но използвай
while{} задължително.
Кин Дза Дза
<!--
var position=1; //false
var i=20;
while(position!=0){
function move_div()
{
if (i > 20) { setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((window.event.clientX < 550) && (window.event.clientX > 70) && (window.event.clientY < 60) && (window.event.clientY > 20))
{
document.all.mover.style.pixelLeft = window.event.clientX - 50;
i = window.event.clientX - 50;
}
else
{
move_div();
}
}
}
document.onmousemove = move_mouse;
na body ima6 onMouseOver(position=0);
na mover-a: onmouseover(position=1);
//-->
При позитион равно на нула, си го сетваш в начална позиция.
Приеми го това като някакъв псевдо-код. Малко мразя джаваскрипт, затова не ми се мисли сега точно кое къде трябва да се напише, пък и синтаксиса го бъркам. Така или иначе, ти можеш да си го направиш достатъчно добре. Давам само идеята как да стане.
Би трябвало да ти свърши работа. Но използвай
while{} задължително.
Кин Дза Дза
Re: events въпрос
Ясно. Благодаря ти
Сега ще го пробвам. дано стане ...
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
<!--
var i=20; mx=0; my=0
function move_div()
{
if (i > 20) { action1=setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((mx < 550) && (mx > 70) && (my < 60) && (my > 20))
{
document.all.mover.style.pixelLeft = mx - 50;
i = mx - 50;
}
else
{
move_div();
}
}
function remember()
{
mx=window.event.clientX;
my=window.event.clientY
}
document.onmousemove=remember
action=setInterval('move_mouse()', 10);
//-->
Tuka se razchita na zapomnjaneto na pozicijata na mishkata v promenlivi, koito se izvikvat bez problemi ot timeout-a. Tova ti reshava problema s triggr-vaneto na sabitieto. Dokolkoto razbrah tova ti beshe problema, che ako mnogo barzo izteglish mishkata i ja spresh rjazko, i div-cheto spira

var i=20; mx=0; my=0
function move_div()
{
if (i > 20) { action1=setTimeout('move_layer()', 10); }
}
function move_layer()
{
document.all.mover.style.pixelLeft = i;
i = i - 20;
}
function move_mouse()
{
if ((mx < 550) && (mx > 70) && (my < 60) && (my > 20))
{
document.all.mover.style.pixelLeft = mx - 50;
i = mx - 50;
}
else
{
move_div();
}
}
function remember()
{
mx=window.event.clientX;
my=window.event.clientY
}
document.onmousemove=remember
action=setInterval('move_mouse()', 10);
//-->
Tuka se razchita na zapomnjaneto na pozicijata na mishkata v promenlivi, koito se izvikvat bez problemi ot timeout-a. Tova ti reshava problema s triggr-vaneto na sabitieto. Dokolkoto razbrah tova ti beshe problema, che ako mnogo barzo izteglish mishkata i ja spresh rjazko, i div-cheto spira
Редактирано от css на
Re: events въпрос
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
BTW zashto ne slojish plavno premestvane kam mishoka i pri mouse overa. Tva samo kato idea.
Re: events въпрос
:)) Shtoto .. mi purvo iskah da moga da go vrushtam (tova beshe problema), puk posle podobreniata. Sega veche moje da se sloji kakvoto ti dusha iska :)))
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
Stana mnou jako :))) tochno tova iskah da se poluchi.
samo nemoga da razbera posledniat red: ac=setInterval('move_mouse()', 1);
Ti beshe napisal action, az napisah ac, kakvoto i oznachenie da sloja - priema go, bez da sum deklariral promenliva .. zashto? (sushtiat vupros vaji i za action1=setTimeout('move_layer()', 1);
"Търсейки по-доброто, често губим доброто" (Шекспир)
samo nemoga da razbera posledniat red: ac=setInterval('move_mouse()', 1);
Ti beshe napisal action, az napisah ac, kakvoto i oznachenie da sloja - priema go, bez da sum deklariral promenliva .. zashto? (sushtiat vupros vaji i za action1=setTimeout('move_layer()', 1);
"Търсейки по-доброто, често губим доброто" (Шекспир)
Редактирано от Borg на
Re: events въпрос
ami az polzvam glavno setInterval, a ne setTimeout, no predpolagam che neshtata sa analogichni. Ami posle kato iskash da spresh Interval-a deto si go set-nal, se pisheshe neshto ot roda na clearInterval(action) ili window.clearInterval(action).
Edno vreme pisheh igrichki s JS i chesto go izpolzvah, ako ne spirash i puskash intervalite taka che da ne se zastupvat, igrichkata varvi kato na Pravec 16
. Ta ottam predpolagam mi e ostanalo kato navik da imenuvam vseki timeout.
Edno vreme pisheh igrichki s JS i chesto go izpolzvah, ako ne spirash i puskash intervalite taka che da ne se zastupvat, igrichkata varvi kato na Pravec 16
Re: events въпрос
uxa, ti si uspql :) Variantyt na css be6e po-iz4isten, dokolkoto razbrah e svyr6il rabota? :) Ai, kat napravi6 sita placni link da gledame :)
Btw, kakvo stranno ima 4e ne si deklariral promenliva? JavaScript e kato php. moje i bez deklaraciq
I want to walk into the lights
Btw, kakvo stranno ima 4e ne si deklariral promenliva? JavaScript e kato php. moje i bez deklaraciq
I want to walk into the lights
Re: events въпрос
dosega vinagi mi e davalo greshka, ako predvaritelno ne sum ja deklariral 
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
pusni malko links da pojitkame 
"Търсейки по-доброто, често губим доброто" (Шекспир)
"Търсейки по-доброто, често губим доброто" (Шекспир)
Re: events въпрос
zavisi ot koja strana na uravnenieto e
Ako e v ljavo - tova si e ednovremenno deklarirane i prisvojavane t.e. pisane v promenlivata, ako e otdjasno, togava e chetene ot neja.
Ako e v ljavo - tova si e ednovremenno deklarirane i prisvojavane t.e. pisane v promenlivata, ako e otdjasno, togava e chetene ot neja.