如何在jquery中更改标题中的文本一段时间


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>5</title>
<link rel="stylesheet" type="text/css" href="css/stage.css" />
<script src="jslibs/jquery-1.9.1.min.js"></script>
<script>
$(document).click(function(event) {
     var x = event.offsetX,
     y = event.offsetY;
     $('#player').animate({
         top: y,
         left: x
     }, 1000);
     $('#change').html('hello');
});
</script>
</head>
<body>
<div id="header">
<h1 id="change">Mario is standing still...</h1>
</div>
<div id="stage">
<img id="player" src="images/mario.gif" alt="Mario" />
</div>
</body>
</html>

这是我的代码,但当我点击它只是改变它为hello永久,我希望它只改变为你好1000ms。我一直在寻找周围的jqueryAPI,谷歌,任何地方。我就是不能让它发生。有人有什么想法吗?

谢谢!

你只需要在setTimeout

中包装你正在做的事情的重置
$(document).click(function(event) {
 var x = event.offsetX,
 y = event.offsetY;
 $('#player').animate({
     top: y,
     left: x
 }, 1000);
 var original = $('#change').html();
 $('#change').html('hello');
 setTimeout(function(){
     $('#change').html(original);
 }, 1000);
});

可以使用setTimeout()函数延迟命令:

$('#change').html('hello');
setTimeout(function() {
    $('#change').html('Mario is standing still...');
}, 1000);

这个函数是原生JavaScript的一部分,它与jQuery没有任何关系。

试试用这段代码代替当前行

    $('#change').html('hello').delay(1000).html('Mario is standing still...');

或者,如果"Mario is standing still…"的值会发生变化,你可以使用

    var originalText = $('#change').html();
    $('#change').html('hello').delay(1000).html(originalText);

最新更新