我的JavaScript代码存在问题。我需要编写执行以下操作的代码:
我已经接近工作......我只是对日期有疑问。我不知道如何保持第一次点击的日期。我的代码现在只是为每次点击创建一个新的开始日期,这是我不想要的。
到目前为止的代码:
var imgNext = -1;
var start = new Date ( );
function disappear ()
{
var end = new Date ();
imgNext++;
if (imgNext == 2)
{
document.getElementById("myPicture").style.visibility="visible";
imgNext = -1;
}
if (imgNext == 1 && (end-start <3000))
{
document.getElementById("myPicture").style.visibility="hidden";
}
start = new Date ();
}
在代码中,即使点击次数超过3秒,图像也会发生变化,因为我每次触发该功能时都会创建一个新的START日期。我该如何解决这个问题?
干杯。
答案 0 :(得分:0)
以下是一个有效的例子:http://jsfiddle.net/yS5bs/2/
document.getElementById("disappear").onclick = function() {
var lastClick = this.attributes["click-time"],
click = new Date().getTime(),
timeout = parseInt(this.attributes["data-timeout"].value);
if(lastClick && (click - lastClick) < timeout && this.style.opacity == 1) {
this.style.opacity = 0;
this.attributes["click-time"].value = null;
return;
}
else {
this.attributes["click-time"] = click;
}
if(this.style.opacity == 0) {
this.style.opacity = 1;
this.attributes["click-time"] = null;
return;
}
};
基本上我正在分配onclick,并获得点击次数,如果在设置超时(毫秒)内则隐藏,否则,它会再次显示,按照规范