定时器从h1传递到h6

时间:2015-12-09 16:51:53

标签: javascript html css header

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>

2 个答案:

答案 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>

还有很多其他方法可以做到这一点,具体取决于您期望实现的目标。