Hy everyboy。我有问题,我被阻止了。 我必须编写一个函数,每1000ms调用自己,并定期增加或减少从H1到H6的标题级别,然后在Javascript代码中返回到H1。 我该怎么做? 我已经做了一个例子
<html>
<head>
<script type="text/javascript">
function timeMsg()
{
var t=setTimeout("alertMsg()",1000);
}
function alertMsg()
{
alert("Hello");
}
</script>
</head>
<body>
<form>
<input type="button" value="Display alert every seconds"
onclick="timeMsg()" />
</form>
</body>
</html>
答案 0 :(得分:0)
你想要的是间隔,而不是超时。此外,您只需将要执行的函数传递给setInterval
即可。试试这个:
var
interval,
startLoop = function()
{
interval = window.setInterval(function(){
alert("Hello");
}, 1000);
};
document.getElementById("startbutton").addEventListener("click", startLoop);
<button id="startbutton">Let’s go</button>
通过interval
变量引用间隔,允许稍后取消间隔:
// some time later …
window.clearInterval(interval);
答案 1 :(得分:0)
如果我做对了,你想用1秒的间隔改变一些元素的大小。好吧,你不能将HTML元素转换成其他东西,这意味着H1总是H1,永远不会变成H2。
您可以做的是设置几个类,并更改该元素应该使用的类。
var t=setInterval(changeClass,1000);
var n=0;
function changeClass(){
n++;
document.getElementById("theElement").className = "type"+n;
if (n>=4) n=0;
}
.type1 {font-size:10px;}
.type2 {font-size:15px;}
.type3 {font-size:20px;}
.type4 {font-size:25px;}
<div id=theElement>
This is the header
</div>
还有很多其他方法可以做到这一点,具体取决于您期望实现的目标。