Javascript自定义keyshortcut循环故障
我是个新手,希望你们中的一个能帮我?我想做的是在我的网页上写一个快捷键,这很有效。我只是不知道我该如何精确地循环它,使这个人能够多次使用这个函数。我感谢任何帮助,也希望我不必深入jQuery 这是我的Javascript代码:Javascript自定义keyshortcut循环故障,javascript,Javascript,我是个新手,希望你们中的一个能帮我?我想做的是在我的网页上写一个快捷键,这很有效。我只是不知道我该如何精确地循环它,使这个人能够多次使用这个函数。我感谢任何帮助,也希望我不必深入jQuery 这是我的Javascript代码: function addZero(i) { if(i < 10){ i = "0" + i; }; return i; }; var d = new Date(); var h = addZe
function addZero(i) {
if(i < 10){
i = "0" + i;
};
return i;
};
var d = new Date();
var h = addZero(d.getHours());
var m = addZero(d.getMinutes());
var text = "Press left arrow";
var combo = h + ":" + m;
var isRight=false;
document.onkeyup=function(e){
if(e.which == 39) isRight=false;
};document.onkeydown=function(e){
if (e.which == 39) isRight=true;
if(isRight == true){
document.getElementById('Time_Shortcut').innerHTML = combo + "<br>" + text;
return false;
} else if(e.which == 37){
document.getElementById('Time_Shortcut').style.display = "none";
};
};
感谢您的时间,如果我把事情弄糟了,请提前道歉。从您的描述中我可以收集到,您希望在网页上检测到按键,然后让java函数执行某项操作并将该操作返回网页
你能告诉我一个用户要完全理解你的问题需要做的步骤和结果吗?不要在HTML中使用p标记,而是使用div并给它一个名称,然后在函数中引用你的div,这样时间就会显示在那里。当要显示时,使div可见为真;当要隐藏时,使div可见为假。我添加了一个带有嵌入式脚本和css的html解决方案
<html>
<head>
</head>
<body>
<script>
////////////////////////
///// create a div /////
////////////////////////
document.write('<div id="time" style="position: absolute; visibility:hidden; overflow:hidden; z-index=2; width: 200; height: 100; top:100; left:100; padding:0"></div>');
/////////////////////////////////////
///// set backgtound of div red /////
/////////////////////////////////////
time.style.backgroundColor="#ff0000";
///////////////////////////////////////////////
///// keyboard event listner /////
///// on keypress goto function disptime /////
//////////////////////////////////////////////
document.onkeypress = disptime;
/////////////////////////////
///// function disptime /////
/////////////////////////////
function disptime(e) {
///////////////////////////////////////////
///// get the charcode of key pressed /////
///////////////////////////////////////////
evt = e || window.event;
var charCode = evt.keyCode || evt.which;
///////////////////////////////////////////
///// if up or down arrow key pressed /////
///////////////////////////////////////////
if (charCode==38)
{
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var c2 = document.getElementById("time");
c2.style.visibility='visible';
document.getElementById('time').innerHTML=(curr_hour + ":" + curr_min);
}
if (charCode==40)
{
var c2 = document.getElementById('time');
c2.style.visibility='hidden';
}
}
</script>
</body>
</html>
////////////////////////
/////创建一个div/////
////////////////////////
文件。写(“”);
/////////////////////////////////////
/////设置div red的后退/////
/////////////////////////////////////
time.style.backgroundColor=“#ff0000”;
///////////////////////////////////////////////
/////键盘事件列表器/////
/////关于按键转到功能disptime/////
//////////////////////////////////////////////
document.onkeypress=disptime;
/////////////////////////////
/////函数显示时间/////
/////////////////////////////
函数显示时间(e){
///////////////////////////////////////////
/////获取按键的字符码/////
///////////////////////////////////////////
evt=e | | window.event;
var charCode=evt.keyCode | | evt.which;
///////////////////////////////////////////
/////如果按了向上或向下箭头键/////
///////////////////////////////////////////
if(charCode==38)
{
var d=新日期();
var curr_hour=d.getHours();
var curr_min=d.getMinutes();
var c2=document.getElementById(“时间”);
c2.风格.可视性=‘可见’;
document.getElementById('time').innerHTML=(curr\u hour+“:”+curr\u min);
}
if(charCode==40)
{
var c2=document.getElementById('time');
c2.风格。可视性=‘隐藏’;
}
}
基本上,它当前是设置好的,因此当您打开页面时没有任何内容,但如果按向右箭头键,它将以小时和分钟为单位打开时间,如果按向左箭头键,它将返回到不显示任何内容。这工作得很好,但在我按下左箭头键使其不显示任何内容后,我无法按下右键使其再次显示时间。我需要帮助来找出如何循环这两个。谢谢你的回复:)很高兴它成功了,祝你的项目好运。请有人关闭这个回答,并给我一些分数。感谢一切工作如图所示,我只需从document.onkeypress=disptime更改它;to document.onkeydown=disptime;非常感谢你,你帮我省去了很多头痛。
#Time_Shortcut {
position: fixed;
opacity: .3;
padding: 20px;
font-family: "Lucida Console", Times, Serif;
color: #BD3A26;
text-decoration: none;
font-size: 22px;
left: 30px;
font-weight: bold;
}
#Time_Shortcut:hover {
opacity: .45;
}
<html>
<head>
</head>
<body>
<script>
////////////////////////
///// create a div /////
////////////////////////
document.write('<div id="time" style="position: absolute; visibility:hidden; overflow:hidden; z-index=2; width: 200; height: 100; top:100; left:100; padding:0"></div>');
/////////////////////////////////////
///// set backgtound of div red /////
/////////////////////////////////////
time.style.backgroundColor="#ff0000";
///////////////////////////////////////////////
///// keyboard event listner /////
///// on keypress goto function disptime /////
//////////////////////////////////////////////
document.onkeypress = disptime;
/////////////////////////////
///// function disptime /////
/////////////////////////////
function disptime(e) {
///////////////////////////////////////////
///// get the charcode of key pressed /////
///////////////////////////////////////////
evt = e || window.event;
var charCode = evt.keyCode || evt.which;
///////////////////////////////////////////
///// if up or down arrow key pressed /////
///////////////////////////////////////////
if (charCode==38)
{
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var c2 = document.getElementById("time");
c2.style.visibility='visible';
document.getElementById('time').innerHTML=(curr_hour + ":" + curr_min);
}
if (charCode==40)
{
var c2 = document.getElementById('time');
c2.style.visibility='hidden';
}
}
</script>
</body>
</html>