我有这个简短的代码:
<!DOCTYPE html>
<html>
<body>
<button onclick="addedSuccess()">Add to Cart</button>
<p id="demo"></p>
</body>
</html>
<script>
function addedSuccess() {
document.getElementById("demo").innerHTML = "Item added successfully in Cart";
}
</script>
有没有办法让消息在一段时间后消失?我希望每次用户点击“添加到购物车”时显示该消息,然后在一段时间后消失,而不必担心按下按钮使其消失...有没有办法做到这一点?非常感谢!
答案 0 :(得分:3)
设置超时功能,然后从元素中删除html:
function addedSuccess() {
document.getElementById("demo").innerHTML = "Item added successfully in Cart";
setTimeout(function() {
$('#demo').html('');
}, 3000);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button onclick="addedSuccess()">Add to Cart</button>
<p id="demo"></p>
删除HTML,而不是隐藏元素,可以更容易在下次点击时重复使用它(如果这是你打算做的) - 只需重新设置内容,而不是重新设置内容和可见性。
答案 1 :(得分:2)
使用下面的代码。使用setTimeout函数。其中3000表示3秒。你可以根据你的要求改变秒数。
setTimeout()方法在指定的毫秒数1000毫秒= 1秒后调用函数或计算表达式。
<script>
function addedSuccess() {
document.getElementById("demo").style = "display:block";
document.getElementById("demo").innerHTML = "Item added successfully in Cart";
setTimeout(function() {
document.getElementById("demo").style = "display:none";
}, 3000);
}
</script>
或使用以下代码清除文字
<script>
function addedSuccess() {
document.getElementById("demo").innerHTML = "Item added successfully in Cart";
setTimeout(function() {
document.getElementById("demo").innerHTML = "";
}, 3000);
}
</script>
如果你想使用jquery,那么使用下面的代码。见DEMO
<!DOCTYPE html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"
type="text/javascript"></script>
<script>
$(document).ready(function(){
$(document).on('click','#addtocart',function(){
$('#demo').html('Item added successfully in Cart');
$('#demo').delay( 3000 ).hide(0);
});
});
</script>
</head>
<html>
<body>
<button id="addtocart">Add to Cart</button>
<p id="demo"></p>
</body>
</html>
答案 2 :(得分:1)
使用JavaScript函数setTimeout()
setTimeout(function,milliseconds,param1,param2,...)
setTimeout(function() {
document.getElementById("demo").style = "display:none";
}, 3000);
或者如果你想用jquery做这个
$( "#demo" ).delay( 3000 ).hide(0);