javascript 使用onMouseDown和onMouseUp来统计我按了多久, 为什么无法达到计时目的,求解~
原本是想通过按住图片来统计我按住这个图片用了多少时间可是我发现不管我按多久都是只是+1所以求修改代码谢谢哥哥姐姐小弟是新学javascript的好多地方都不懂。一下是代码...
原本是想通过按住图片来统计我按住这个图片用了多少时间 可是 我发现不管我按多久都是只是+1 所以求修改代码 谢谢哥哥姐姐 小弟是新学javascript的 好多地方都不懂。
一下是代码:
<html>
<head>
<title>测试</title>
<script type="text/javascript">
var time1=0;
var time2=0;
function ssl()
{
document.getElementById('myimage').src="surface0020.png";
time1=time1+ 1;
time1=setTimeout("timedCount()",1000);
}
function talk()
{
document.getElementById('myimage').src="surface0026.png";
clearTimeout(time1);
alert(time1);
t=0;
}
</script>
</head>
<body >
<img id="myimage" onMouseDown="ssl()" onMouseUp="talk()" src="surface0026.png">
</body>
</html> 展开
一下是代码:
<html>
<head>
<title>测试</title>
<script type="text/javascript">
var time1=0;
var time2=0;
function ssl()
{
document.getElementById('myimage').src="surface0020.png";
time1=time1+ 1;
time1=setTimeout("timedCount()",1000);
}
function talk()
{
document.getElementById('myimage').src="surface0026.png";
clearTimeout(time1);
alert(time1);
t=0;
}
</script>
</head>
<body >
<img id="myimage" onMouseDown="ssl()" onMouseUp="talk()" src="surface0026.png">
</body>
</html> 展开
2个回答
展开全部
在Visual Basic中,可以利用鼠标事件来使应用程序对鼠标的位置和状态作出响应,如单击(Click)、双击(DbClick)、移动(MouseMove)、松开鼠标键(MouseDown)和按下鼠标键(MouseUp)等。
事实上,单击和双击不是鼠标事件。在按下鼠标键并释放时,单击事件只能把这个过程识别为单击操作。单机和双击事件也不能区分各个鼠标键与上档键、换档键和控制键的功能键。这里之所以把它们归到鼠标事件中,是为了集中说明。另外,单击和双击事件也的确与鼠标的操作有关。在发生双击事件的同时,也发生了单击事件。
按下鼠标键的事件是三种鼠标事件中最常使用的事件。例如,在运行时可用它调整控件在窗体上的位置,也可以用它实现某些图形效果。按下鼠标键时就可触发这个事件。
松开鼠标键的事件发生在松开鼠标的时候。可以利用松开鼠标键的事件来代替单击事件。这样做的好处是可以在检测鼠标键的同时,检测你所按下的键盘上的功能键,如控制键。
一般来说,松开鼠标和按下鼠标的事件是配对使用的。我们在按下鼠标的事件中开始某项操作,而在松开鼠标的事件中结束这项操作。
鼠标移动事件发生在鼠标滑动的时候。鼠标在对象上移动的时候,这个事件将一直发生。
那么,当鼠标指针移过屏幕时要调用多少次鼠标移动的事件呢?指针由屏幕顶端移动到底端时将经过多少个位置?并不是对鼠标经过的每个像素,Visual Basic都会生成鼠标移动事件。操作环境一秒生成有限的鼠标消息。并且,鼠标指针移动得越快,在任意两点之间所能识别的鼠标移动事件就越少。
应用程序能在极短的事件内识别大量鼠标移动的事件。因此,一个鼠标移动事件过程不应去做那些需要大量计算时间的工作。否则可能会引发你意想不到的结果,或者使程序的运行变得非常缓慢。
事实上,单击和双击不是鼠标事件。在按下鼠标键并释放时,单击事件只能把这个过程识别为单击操作。单机和双击事件也不能区分各个鼠标键与上档键、换档键和控制键的功能键。这里之所以把它们归到鼠标事件中,是为了集中说明。另外,单击和双击事件也的确与鼠标的操作有关。在发生双击事件的同时,也发生了单击事件。
按下鼠标键的事件是三种鼠标事件中最常使用的事件。例如,在运行时可用它调整控件在窗体上的位置,也可以用它实现某些图形效果。按下鼠标键时就可触发这个事件。
松开鼠标键的事件发生在松开鼠标的时候。可以利用松开鼠标键的事件来代替单击事件。这样做的好处是可以在检测鼠标键的同时,检测你所按下的键盘上的功能键,如控制键。
一般来说,松开鼠标和按下鼠标的事件是配对使用的。我们在按下鼠标的事件中开始某项操作,而在松开鼠标的事件中结束这项操作。
鼠标移动事件发生在鼠标滑动的时候。鼠标在对象上移动的时候,这个事件将一直发生。
那么,当鼠标指针移过屏幕时要调用多少次鼠标移动的事件呢?指针由屏幕顶端移动到底端时将经过多少个位置?并不是对鼠标经过的每个像素,Visual Basic都会生成鼠标移动事件。操作环境一秒生成有限的鼠标消息。并且,鼠标指针移动得越快,在任意两点之间所能识别的鼠标移动事件就越少。
应用程序能在极短的事件内识别大量鼠标移动的事件。因此,一个鼠标移动事件过程不应去做那些需要大量计算时间的工作。否则可能会引发你意想不到的结果,或者使程序的运行变得非常缓慢。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
如果想计算 按了多久 那你应该使用 日期对象啊 new Date()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> new document </title>
<script type="text/javascript">
var time1=0;
window.onload = function() {
var im = document.getElementById('myimage');
im.onmousedown = ssl;
im.onmouseup = talk;
}
function ssl() {
time1 = new Date().getTime(); //记录 按下去时候的 时间戳
}
function talk() {
var time2 = new Date().getTime(); //放开鼠标时候的 时间戳
//时间戳是毫秒数 所以要除以1000
document.getElementById('show').innerHTML = '你按住'+(time2 -time1)/1000+'秒';
}
</script>
</head>
<body >
<img id="myimage" src="surface0026.png" />
<div id="show"></div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> new document </title>
<script type="text/javascript">
var time1=0;
window.onload = function() {
var im = document.getElementById('myimage');
im.onmousedown = ssl;
im.onmouseup = talk;
}
function ssl() {
time1 = new Date().getTime(); //记录 按下去时候的 时间戳
}
function talk() {
var time2 = new Date().getTime(); //放开鼠标时候的 时间戳
//时间戳是毫秒数 所以要除以1000
document.getElementById('show').innerHTML = '你按住'+(time2 -time1)/1000+'秒';
}
</script>
</head>
<body >
<img id="myimage" src="surface0026.png" />
<div id="show"></div>
</body>
</html>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |