Javascript 如何使按钮仅在通过基本JS单击另一个按钮时显示
我是新手。所以,我想在时钟工作时隐藏重置按钮,它应该在时钟停止时出现。与停止按钮相同,它必须只在时钟工作时出现。这一切都必须用简单而基本的Java脚本完成。我不知道JqueryJavascript 如何使按钮仅在通过基本JS单击另一个按钮时显示,javascript,Javascript,我是新手。所以,我想在时钟工作时隐藏重置按钮,它应该在时钟停止时出现。与停止按钮相同,它必须只在时钟工作时出现。这一切都必须用简单而基本的Java脚本完成。我不知道Jquery <script language="javascript"> var t1; var t2; var t3; function fn_sample() { document.frm.txtS.value = parseIn
<script language="javascript">
var t1;
var t2;
var t3;
function fn_sample() {
document.frm.txtS.value = parseInt(document.frm.txtS.value) + 1;
t1 = document.frm.txtS.value;
if(t1>60){
document.frm.txtS.value = 0;
fn_incMin();
}
window.setTimeout("fn_sample()", 1000);
}
function fn_incMin() {
document.frm.txtM.value = parseInt(document.frm.txtM.value) + 1;
t2 = document.frm.txtM.value;
if(t2>60){
document.frm.txtM.value = 0;
fn_incHrs();
}
window.setTimeout("fn_incMin()", 60000);
}
function fn_incHrs() {
document.frm.txtH.value = parseInt(document.frm.txtH.value) + 1;
t3 = document.frm.txtH.value;
window.setTimeout("fn_incHrs()", 3600000);
}
function fn_stop() {
window.clearTimeout(t1);
window.clearTimeout(t2);
window.clearTimeout(t3);
}
function fn_reset() {
document.frm.txtS.value = 0;
document.frm.txtM.value = 0;
document.frm.txtH.value = 0;
}
</script>
</head>
<body>
<form name="frm">
<input type="text" name="txtH" value="0" size="2"/>
<input type="text" name="txtM" value="0" size="2"/>
<input type="text" name="txtS" value="0" size="2"/>
<br /><br />
<input type="button" value="Start" onclick="fn_sample();" />
<input type="button" value="Stop" onclick="fn_stop();" />
<input type="button" value="Reset" onclick="fn_reset();" />
</form>
</body>
var-t1;
var-t2;
var-t3;
函数fn_sample(){
document.frm.txtS.value=parseInt(document.frm.txtS.value)+1;
t1=document.frm.txtS.value;
如果(t1>60){
document.frm.txtS.value=0;
fn_incMin();
}
setTimeout(“fn_sample()”,1000);
}
函数fn_incMin(){
document.frm.txtM.value=parseInt(document.frm.txtM.value)+1;
t2=document.frm.txtM.value;
如果(t2>60){
document.frm.txtM.value=0;
fn_incHrs();
}
setTimeout(“fn_incMin()”,60000);
}
函数fn_incHrs(){
document.frm.txtH.value=parseInt(document.frm.txtH.value)+1;
t3=document.frm.txtH.value;
setTimeout(“fn_incHrs()”,3600000);
}
函数fn_stop(){
窗口清除超时(t1);
窗口清除超时(t2);
窗口清除超时(t3);
}
函数fn_reset(){
document.frm.txtS.value=0;
document.frm.txtM.value=0;
document.frm.txtH.value=0;
}
你可以这样做
<input type="button" value="Start" onclick="fn_sample();this.form.reset.style.display='none'" />
<input type="button" value="Stop" onclick="fn_stop();this.form.reset.style.display='inline'" />
<input type="button" value="Reset" name='reset' onclick="fn_reset();" />
或者也可以使用disable属性
<input type="button" value="Start" onclick="fn_sample();this.form.reset.disabled=true" />
<input type="button" value="Stop" onclick="fn_stop();this.form.reset.disabled=false" />
<input type="button" value="Reset" name='reset' onclick="fn_reset();" />
基本上,您希望按钮上有一个onclick属性,如下所示:
var stopClicked=function(){
document.getElementById(“停止”).style.display=“无”;
document.getElementById(“重置”).style.display=“”;
}
var resetClicked=function(){
document.getElementById(“停止”).style.display=“”;
document.getElementById(“重置”).style.display=“无”;
}
停止
重置
这并不漂亮,但可以帮助您了解发生了什么
<script language="javascript">
var t1;
var t2;
var t3;
var st1, st2, st3;
function fn_sample() {
document.getElementById('reset').style.display = 'none';
document.getElementById('start').style.display = 'none';
document.getElementById('stop').style.display = 'inline-block';
running = true;
document.frm.txtS.value = parseInt(document.frm.txtS.value) + 1;
t1 = document.frm.txtS.value;
if(t1>60){
document.frm.txtS.value = 0;
fn_incMin();
}
st1 = window.setTimeout("fn_sample()", 1000);
}
function fn_incMin() {
document.frm.txtM.value = parseInt(document.frm.txtM.value) + 1;
t2 = document.frm.txtM.value;
if(t2>60){
document.frm.txtM.value = 0;
fn_incHrs();
}
st2 = window.setTimeout("fn_incMin()", 60000);
}
function fn_incHrs() {
document.frm.txtH.value = parseInt(document.frm.txtH.value) + 1;
t3 = document.frm.txtH.value;
st3 = window.setTimeout("fn_incHrs()", 3600000);
}
function fn_stop() {
document.getElementById('reset').style.display = 'inline-block';
document.getElementById('start').style.display = 'inline-block';
document.getElementById('stop').style.display = 'none';
window.clearTimeout(st1);
window.clearTimeout(st2);
window.clearTimeout(st3);
}
function fn_reset() {
document.frm.txtS.value = 0;
document.frm.txtM.value = 0;
document.frm.txtH.value = 0;
}
</script>
</head>
<body>
<form name="frm">
<input type="text" name="txtH" value="0" size="2"/>
<input type="text" name="txtM" value="0" size="2"/>
<input type="text" name="txtS" value="0" size="2"/>
<br /><br />
<input id="start" type="button" value="Start" onclick="fn_sample();"style="display:inline-block" />
<input id="stop" type="button" value="Stop" onclick="fn_stop();" style="display:none" />
<input id="reset" type="button" value="Reset" onclick="fn_reset();" style="display:inline-block" />
</form>
</body>
var-t1;
var-t2;
var-t3;
变量st1、st2、st3;
函数fn_sample(){
document.getElementById('reset').style.display='none';
document.getElementById('start').style.display='none';
document.getElementById('stop').style.display='inline block';
运行=真;
document.frm.txtS.value=parseInt(document.frm.txtS.value)+1;
t1=document.frm.txtS.value;
如果(t1>60){
document.frm.txtS.value=0;
fn_incMin();
}
st1=window.setTimeout(“fn_sample()”,1000);
}
函数fn_incMin(){
document.frm.txtM.value=parseInt(document.frm.txtM.value)+1;
t2=document.frm.txtM.value;
如果(t2>60){
document.frm.txtM.value=0;
fn_incHrs();
}
st2=window.setTimeout(“fn_incMin()”,60000);
}
函数fn_incHrs(){
document.frm.txtH.value=parseInt(document.frm.txtH.value)+1;
t3=document.frm.txtH.value;
st3=window.setTimeout(“fn_incHrs()”,3600000);
}
函数fn_stop(){
document.getElementById('reset').style.display='inline block';
document.getElementById('start').style.display='inline block';
document.getElementById('stop').style.display='none';
窗口清除超时(st1);
窗口清除超时(st2);
窗口清除超时(st3);
}
函数fn_reset(){
document.frm.txtS.value=0;
document.frm.txtM.value=0;
document.frm.txtH.value=0;
}
里面是什么:
- 变量st1、st2、st3是设置超时的处理程序(在代码停止按钮中不起作用) window.setTimeout返回与clearTimeout一起使用的处理程序
- 所有字段都有样式比例,在开始时显示或隐藏按钮
- document.getElementById('stop')获取元素和style.display='inline block'设置元素上的可见项或隐藏以隐藏元素
- 在开始时显示一些按钮并隐藏不必要的按钮,在停止时显示其他按钮并隐藏不必要的按钮
就这些。在纯JS中。这是对它的测试:您当前的代码有什么问题。您的控制台现在是否有错误?另外,给你函数和变量的描述性名称会对你有很大帮助