<script language="javascript">
function onmouse(){
alert("hello");
}
</script><img src="" onmouseover="javascript:setTimeout('onmouse()',500);">
function onmouse(){
alert("hello");
}
</script><img src="" onmouseover="javascript:setTimeout('onmouse()',500);">
var a="out"
function yourFunction(){
if(a!="in")return
...........
}
</script>
<img onmouseover="javascript:a='in';setTimeout('yourFunction()', 500)" onmouseout="javascript:a='out';">
如果是这样的话,建议楼主不必让事件延迟半秒。
考虑到img直接跟随鼠标位移可能会造成客户端资源浪费,可以设置一个虚线构成的框。
1、虚线框隐藏。
2、在img上捕获onmousedown事件,用attachEnevt方法设置body的onmousemove事件。img.setCapture。
3、在body上onmousemove时,虚线框跟随,img不动
4、在body上捕获onmouseup事件,虚线框隐藏,img调整位置。detachEnevt body的onmousemove事件,img.releaseCapture。
这种方法也可以用来改变div、iframe等对象的位置、大小等。
<script>
var c=1;
setInterval("if(c--<0)alert('0')",500)
document.all.bao.onmousemove=new Function("c=1");
document.all.bao.onmouseout=new Function("c=10000000000");
</script>
var a=""
function yourFunction(){
if(a=="had")return;
if(a==""){
a=new Date();
return;
}else{
if((new Date() - a) > 500){
//...........
//你的函數
a="had"; //表示已觸發過
}
}
</script>
<img onmouseover="yourFunction()" onmouseout="a='';">
var a=""
function yourFunction(){
if(a=="had")return;
if(a==""){
a=new Date();
return;
}else{
if((new Date() - a) > 500){
//...........
//你的函數
alert('成功啦')
a="had"; //表示已觸發過
}
}
}
</script><img src=1.jpg onmousemove="yourFunction()" onmouseout="a='';">
X:<INPUT TYPE="text" ID="Text1" NAME="Text1">Y:<INPUT TYPE="text" ID="Text2" NAME="Text2">d:<INPUT TYPE="text" ID="Text3" NAME="Text3">
<DIV STYLE="WIDTH:100%;HEIGHT:90%" ONMOUSEMOVE="move()"></DIV>
<SCRIPT LANGUAGE="javascript">
var t = new Date();
var mill = t.getTime();
var x,y,bz;
x = window.event.clientX;
y = window.event.clientY;
function move()
{
var cx = window.event.clientX;
var cy = window.event.clientY;
var para;
l = Math.sqrt( ( cx - x ) * ( cx - x ) + ( cy - y ) * ( cy - y ) )
d = t.getTime( ) - mill + 1;
para = l / d;
Text3.value = para;
if( para < 5)
{
control();
}
x = window.event.clientX;
y = window.event.clientY;
}
function control()
{
Text1.value = window.event.clientX;
Text2.value = window.event.clientY;
mill = t.getTime( );
}
</SCRIPT>